
Threat Research
/Security News
Searchjacked: Hidden Browser Extensions Hijack Searches for 13 Million Users
319 browser extensions installed by 13.4 million users hijack searches, capture queries, and collect referral payments from Yahoo and Bing.
n8n-nodes-popnow
Advanced tools
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.
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.
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.
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.
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.
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.
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.
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.
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
Once the package is on npm, you will be able to install it from Settings > Community nodes > Install
by entering n8n-nodes-popnow.
Create a PopNow API credential:
| Field | Value |
|---|---|
| API Key | A key from popnow.ai/api/console/keys. It starts with sk-popnow-. |
| Base URL | Leave 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.
| Resource | Operation | What it does | API call |
|---|---|---|---|
| Image | Generate | Text to image, image editing, upscaling, background removal and other image models | jobs/quote, jobs/createTask, jobs/recordInfo |
| Video | Generate | Text to video, image to video, video extend and other video models | same |
| Audio | Generate | Text to speech, music and other audio models | same |
| Task | Get | Read a task by ID, optionally wait for it and download its files | GET /api/v1/jobs/recordInfo |
| Task | Retry | Create a new task from a failed or expired one, optionally wait and download | POST /api/v1/jobs/retry |
| File | Upload | Upload a binary file and get a popnow://f/... URI to use as model input | common/upload-url, PUT, files/{id}/commit |
| Model | Get Many | The model catalogue with credit prices, filtered by modality and keyword | GET /api/v1/models |
| Model | Get | One model with its input schema, examples and credit price | GET /api/v1/models/{model} |
| Model | Get Quote | The exact price of a request in credits, without running it | POST /api/v1/jobs/quote |
| Account | Get Balance | Available, held and total balance in credits and US dollars | GET /api/v1/chat/credit |
The node is marked usable as a tool, so an n8n AI Agent can call it too.
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.
| Kind | Example model IDs |
|---|---|
| Text to image | alibaba/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 editing | google/nano-banana-2.1/edit, alibaba/qwen-image-2.1/edit, popnow/background-remover-v1/edit, popnow/image-upscaler-v1/upscale |
| Image to video | kling/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 video | kling/3.0/text-to-video, alibaba/wan-3.0/text-to-video, minimax/h3/text-to-video |
| Music and speech | suno/v6/text-to-audio, google/gemini-3.8-flash-tts/text-to-speech, alibaba/qwen-3-tts/text-to-speech |
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.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.
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.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.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.X-PopNow-Retention to delete a task's prompt and
files sooner than your account default.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:
{{ $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 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.
| Code | Meaning | What to do |
|---|---|---|
401 | The API key is missing or invalid | Check the credential |
40201 | Not enough credits for the task's hold | Buy credits at popnow.ai/pricing |
40202 | The key's spend cap was reached | Raise the cap in the API console |
40301 | The key may not call this model | Allow the model for the key |
40901 | The price changed between quote and create | Handled automatically once; run again otherwise |
429 | Too many requests | Run fewer items in parallel; see limits |
state: failed | The model could not finish or declined the content | Nothing was charged; read errorCode |
Full list: popnow.ai/docs/errors.
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.
PopNow, header name Authorization,
value Bearer sk-popnow-....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.
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.
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.
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.
n8n Cloud only installs verified community nodes, so use the HTTP Request workflow. It calls the same API with built-in nodes.
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.
No. The node sends a deterministic Idempotency-Key per execution, node, item and input, so a retry gets
the original task back.
Yes. Each incoming item becomes its own task. Keep an eye on the rate limits and use a spend cap on the key.
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.
MIT © PopNow
FAQs
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.
The npm package n8n-nodes-popnow receives a total of 50 weekly downloads. As such, n8n-nodes-popnow popularity was classified as not popular.
We found that n8n-nodes-popnow demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Threat Research
/Security News
319 browser extensions installed by 13.4 million users hijack searches, capture queries, and collect referral payments from Yahoo and Bing.

Threat Research
Malicious Firefox extensions mimic Phantom, Jupiter, and Bitget wallets to steal recovery phrases and private keys, with one fetching its payload remotely.

Product
Socket Threat Intel now shows which malware campaigns were blocked or detected in your organization, with links to scans and Firewall events.