popnow-comfyui
ComfyUI nodes for PopNow: run Kling, Seedance, Wan, MiniMax, Nano Banana, GPT Image, Flux and Suno AI video, image and audio models. No GPU.
Nodes (250)
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 pack brings its developer API
(https://api.popnow.ai/api/v1) into ComfyUI graphs. Each model is one node whose inputs come from that
model's published input schema, so the node offers exactly what the model accepts. Generation runs on
PopNow's servers and is paid in credits from the same wallet as popnow.ai (1 credit = $0.01; credit packs,
no subscription; failed runs are refunded). Make it pop.
248 model nodes (115 video, 116 image, 17 audio) from 127 model families, plus PopNow Generate and PopNow LoRA.
<!-- stats:end -->Quickstart
-
Install. In ComfyUI Manager, search for PopNow and click Install, or use the Comfy CLI:
comfy node install popnow-comfyui -
Add your key. Create a key at popnow.ai/api/console/keys, restart ComfyUI, open Settings > PopNow and paste it (or start ComfyUI with
POPNOW_API_KEY=sk-popnow-...set). A notice shows your credit balance. Restart once more so the node list comes from your account. -
Add a node and run. Double-click the canvas and type a model name (
seedance,kling,wan,minimax,nano banana,suno...), or browse PopNow > Video / Image / Audio. Wire Load Image into its image input if it takes one, connect Save Image, Save Video or Save Audio, and queue.
Prefer a ready graph? Open ComfyUI's template browser and look under popnow-comfyui: text to image, image to video, text to image to video, text to speech, LoRA, and PopNow Generate.
Features
| | |
| --- | --- |
| What it adds | One node per PopNow model, a PopNow Generate node that takes any model by name, and a PopNow LoRA node |
| Inputs and outputs | Standard ComfyUI IMAGE, MASK, VIDEO, AUDIO and STRING |
| Hardware | None: models run on PopNow, so it works on laptops, Macs and CPU-only machines |
| Dependencies | None beyond ComfyUI itself (Python 3.10+, the V3 node API) |
| Pricing | Credits from your PopNow wallet; the rate is shown on every node and each run is quoted first |
| New models | Picked up automatically: the node list is rebuilt from your account's catalog at each start |
| License | MIT |
Supported models
The node list follows the live PopNow catalog (GET /api/v1/models). At the time of this release:
Video (115 nodes)
| Maker | Models | | --- | --- | | MiniMax | MiniMax H3, MiniMax H3 Singularity LoRA, MiniMax H3 Max, MiniMax H3 LoRA, MiniMax H3 360 Orbit | | ByteDance | Seedance 2.5, Seedance 2.0 Mini, Seedance 2.0, Seedance 2.0 Fast, Seedance 1.5 Pro | | Kuaishou | Kling 3.0, Kling O3, Kling 4.0, Kling 3.0 Turbo, Kling 2.6, Kling 2.5 Turbo, Kling 2.1 Master, Kling 2.1 | | Vidu | Vidu Q4 Preview, Vidu Q3 Turbo, Vidu Q3, Vidu Q3 Pro | | Alibaba | Wan 3.0, Wan 3.0 Prime, Wan 3.0 Pro Prime, Wan 3.0 Pro, HappyHorse 1.1, Wan 2.6 Flash, Wan 2.6, Wan 2.5, Wan 2.2 Animate, Wan 2.2 LoRA, Wan 2.2, Wan 2.2 5B LoRA, Wan 2.1 LoRA | | Lightricks | LTX 2.5, LTX-2.3 LoRA, LTX-2 19B, LTX-2 19B LoRA | | Black Forest Labs | FLUX 3 | | Tencent | HunyuanVideo 1.5 | | PopNow tools | Video Upscaler |
Image (116 nodes)
| Maker | Models | | --- | --- | | Google | Nano Banana 2.1, Nano Banana Pro, Nano Banana 2 | | OpenAI | GPT Image 2.5 Sunburst, GPT Image 2.5 Flare, GPT Image 2 | | ByteDance | Seedream 5.0 Pro, Seedream 5.0 Flash, Seedream 5.0 Lite, Seedream 4.0 | | Black Forest Labs | FLUX.2 Max, FLUX 3 Klein Base LoRA, FLUX 3 Klein Base, FLUX.2 Klein 9B LoRA, FLUX.2 Klein Base 9B LoRA, FLUX.2 Klein 4B LoRA, FLUX.2 Klein Base 4B LoRA, FLUX.2 Klein 9B, FLUX.2 Klein 4B, FLUX.2 Dev LoRA, FLUX.2 Pro, FLUX.2 Flex, FLUX.2 Dev, FLUX.1 Krea Dev LoRA, FLUX.1 Dev ControlNet LoRA, FLUX.1 Fill Dev LoRA, FLUX.1 Dev LoRA, FLUX.1 Schnell LoRA | | Alibaba | Qwen Image 2.1 Pro, Qwen Image 2.1 Turbo, Qwen Image 2.1, Qwen Image 2.1 LoRA, Qwen Image 3.0 Pro, Qwen Image 3.0, Wan 2.7 Pro, Wan 2.7, Qwen Image 2, Z-Image Base LoRA, Qwen Image 2512 LoRA, Z-Image, Z-Image Turbo LoRA, Qwen Image Edit 2509 LoRA, Qwen Image 1.0 LoRA, Wan 2.2 Image LoRA, Wan 2.1 Image LoRA | | Krea | Krea 3, Krea 2 Turbo LoRA, Krea 2 Large, Krea 2 Medium, Krea 2 Medium Turbo | | MiniMax | MiniMax H3 Image LoRA | | CircleStone Labs | Anima Turbo, Anima Turbo LoRA | | Pruna AI | P-Image LoRA | | J1B | Jib Mix Qwen, Jib Mix Qwen LoRA | | Prefect | Prefect Pony XL LoRA, Prefect Pony XL | | Neta.art Lab | Neta Lumina | | PopNow tools | Background Remover, Image Upscaler, Object Eraser, Image Expander, Shadow Remover, Pose Changer, Anime to Real, Camera Angle Changer, Relight |
Audio (17 nodes)
| Maker | Models | | --- | --- | | Suno | Suno v6, Suno v6 Mini, Suno v6 Wild | | Google | Gemini 3.8 Flash TTS, Gemini 3.8 Flash-Lite TTS, Gemini 2.5 Pro TTS | | MiniMax | MiniMax Speech 2.8 HD, MiniMax Music 3.0, MiniMax Speech 2.8 Turbo | | ByteDance | Seed Audio 1.0, Seed Speech 2.0 | | HeartMuLa | HeartMuLa Transcribe | | xAI | Grok STT, Grok TTS | | Alibaba | Qwen3 TTS | | Resemble AI | Chatterbox | | PopNow tools | Video Sound Effects |
Every node with its call name and starting price: MODELS.md.
<!-- models:end -->Install
The pack is on the Comfy Registry as popnow-comfyui. There
is nothing else to install: the nodes only use packages ComfyUI already ships.
ComfyUI Manager. Open Manager > Custom Nodes Manager, search for PopNow, click Install and restart ComfyUI.
Comfy CLI. comfy node install popnow-comfyui
git.
cd ComfyUI/custom_nodes
git clone https://github.com/popnow-ai/popnow-comfyui
# later, to update:
cd popnow-comfyui && git pull
ZIP. Download main.zip, unpack it
into ComfyUI/custom_nodes, and restart.
Used the single-file node from popnow.ai/docs/comfyui before? Delete
custom_nodes/popnow_api.py when you install this pack. Its PopNow Generate node is the same node type
with the same inputs, so saved workflows keep working.
How the nodes work
- Inputs follow the model. Dropdowns, sliders and switches mirror each model's schema. Image, video and
audio inputs are sockets, uploaded for you when the node runs (
popnow://f/...files that only your key can use). Models that take several references grow a new socket each time you connect one. - Defaults are the model's own. A dropdown set to
model default, or a number set to-1, is left out of the request so the model decides. - Outputs are ordinary ComfyUI values. Video nodes return
VIDEO(and the last frame asIMAGEwhenreturn_last_frameis on), audio nodes returnAUDIO, image nodes returnIMAGE, and background removal and layer decomposition also return analphamask. Transcription returnsSTRING. Every node also returns itstask id. - Progress on the node. The node shows the estimate, the queue and generation time, and finally what the run was charged.
PopNow Generate
One node for any model, the same node as the single-file version on popnow.ai:
| Input | What to put in it |
| --- | --- |
| model | A call name from popnow.ai/docs/models, for example minimax/h3/image-to-video |
| prompt | What to make. It goes into prompt (or text for speech models) unless options already sets it |
| options | The model's other fields as JSON, such as {"resolution": "2k"} or {"duration_seconds": 5} |
| image (optional) | An IMAGE, uploaded and placed in the field named by image_field |
| image_field | image_url for most video models, image_urls for image editing (a list; every image in the batch is sent) |
Outputs: image (the result for image models, a blank placeholder otherwise), url (the signed file URL,
valid for about 20 minutes) and path (video and audio are saved to ComfyUI/output/popnow_<task>.mp4 and
similar). Load a saved video back with a video loader node to get its frames.
PopNow LoRA
LoRA models (their names end in LoRA) take a loras input. Add a PopNow LoRA node, set its source
and scale, and connect it; chain several to stack them (most accept up to three). source can be:
| Source | What happens |
| --- | --- |
| A file in ComfyUI/models/loras, such as my_style.safetensors | Uploaded once (up to 2 GiB) and reused for 12 hours |
| A Hugging Face repo id (owner/repo) or page, or a Civitai page | PopNow downloads it once with POST /api/v1/files/import; set HF_TOKEN or CIVITAI_API_KEY in ComfyUI's environment for gated files |
| Any other direct https:// link, or a popnow://f/... URI | Sent as is |
Tokens are read from the environment only, never from a widget: widget values are saved in every workflow and image you share.
Costs and safety
- Price on the node. Each node's badge shows the current rate for the options you picked, for example
5.55 cr/sfor MiniMax H3 at 768p or7.2 cr/imagefor Nano Banana 2.1, and updates as you change them.~marks models whose final charge depends on the output. - Quote before every run. Each run calls
jobs/quotefirst and holds at most the quoted amount. Set Settings > PopNow > Max credits per run and any run quoted above it stops before anything is held. - No surprise re-runs. Seeds start on
fixed, so queueing the same graph twice reuses the first result. Switch control after generate torandomizefor a new result each run (each run is billed). - Safe retries. Every task is submitted with an
Idempotency-Key; network retries reuse it, so a retry never creates a second task. - Your key stays out of shared files. It is stored in the ComfyUI user folder
(
user/popnow/config.json, readable by your account only), never in a workflow or in image metadata. On a server, setPOPNOW_API_KEYinstead. - Cancelling stops the wait, not the job. A cancelled run keeps going on PopNow, is charged if it succeeds, and its result stays in the API console logs.
Configuration
| Setting | Where | Purpose |
| --- | --- | --- |
| POPNOW_API_KEY | environment | API key (sk-popnow-...); takes precedence over the key saved in Settings |
| Settings > PopNow > API key | ComfyUI settings | Saves the key to user/popnow/config.json |
| Settings > PopNow > Max credits per run | ComfyUI settings | Spending ceiling per node run (0 = no limit) |
| POPNOW_BASE_URL | environment | API origin, default https://api.popnow.ai (for testing against a mock) |
| POPNOW_COMFYUI_HOME | environment | Folder for the saved key and catalog cache, instead of user/popnow |
| HF_TOKEN, CIVITAI_API_KEY | environment | Used once per LoRA import of a gated file; never stored |
| HTTPS_PROXY | environment | Honoured for every request |
Troubleshooting
| You see | What to do |
| --- | --- |
| No PopNow API key is set | Add the key in Settings > PopNow, or set POPNOW_API_KEY, then run again |
| PopNow 401 | The key is missing, mistyped or revoked; create a new one in the API console |
| PopNow 400 naming a field | A value the model does not accept; check the model page linked in the node's description |
| PopNow 40201 | Not enough credits: buy credits, or lower the resolution or length |
| PopNow 40004 | The model cannot serve that combination of settings; change the one named in the message |
| PopNow 40310 | Verify your email address with the link from your sign-up email |
| PopNow content_rejected / generation_failed | The model declined or could not finish; failed runs are refunded |
| An error ending in request_id ... | Send that id to support; it identifies the request exactly |
| a proxy or firewall ... may be intercepting the request | Check that HTTPS_PROXY, if set, points at a working proxy |
| A model from popnow.ai is missing | Restart ComfyUI: the node list is built from your account's catalog at start |
FAQ
How do I generate a video from an image in ComfyUI without a GPU?
Install this pack and add your PopNow key, then add an image-to-video node such as MiniMax H3 · Image to
Video, Kling 3.0 · Image to Video or Seedance 2.5 · Image to Video. Connect Load Image to its
image_url input and Save Video to its video output, write a prompt and queue. The model runs on
PopNow's servers, so your machine only uploads the picture and downloads the clip.
How do I use Kling, Seedance or Wan in ComfyUI?
Each of them is a set of nodes under PopNow > Video (one per task: text to video, image to video, reference to video, video extend). Search the node list for the model name. Resolution, duration, audio and the other options are widgets on the node, with the price for your settings on its badge.
How much does a run cost?
Each model has its own rate in credits (1 credit = $0.01), shown on the node and in MODELS.md: image models are priced per image, video models per second of output, speech per 1,000 characters or per request. Every run is quoted before it starts, the node prints the final charge when it finishes, and failed runs are refunded. Prices: popnow.ai/pricing.
Is my API key safe when I share a workflow or an image?
Yes. ComfyUI writes node settings into workflow files and PNG metadata, so the key is never a node setting.
It lives in a file in your ComfyUI user folder, or in the POPNOW_API_KEY environment variable.
Can I use my own LoRA with a cloud model?
Yes, with the LoRA model nodes. Point a PopNow LoRA node at a .safetensors file in
ComfyUI/models/loras, a Hugging Face repo, a Civitai page or a direct link, and connect it to the model
node's loras input. The lora template comes ready to run with an Apache-2.0 pixel-art LoRA for Z-Image
Turbo (by tarn59 on Hugging Face).
Can I call a model that has no node yet?
Yes. PopNow Generate takes any call name from popnow.ai/docs/models plus its options as JSON. New models also get their own node after a restart once your key is set.
Does it work with ComfyUI Desktop, portable builds or a remote server?
Yes, anywhere ComfyUI can load custom nodes and reach api.popnow.ai. On a server, set POPNOW_API_KEY in
its environment or enter the key in Settings from the browser. Proxies set through HTTPS_PROXY are used.
Links
- Website: popnow.ai · Pricing: popnow.ai/pricing
- Docs: popnow.ai/docs · ComfyUI guide: popnow.ai/docs/comfyui
- API reference: OpenAPI spec · Models: popnow.ai/docs/models
- MCP server for AI assistants: popnow.ai/mcp
- Other PopNow repositories: popnow-mcp, popnow-skills, popnow-python, popnow-js, popnow-api, popnow-blender, n8n-nodes-popnow, popnow-cli, popnow-go, popnow-php
Development
The tests need only aiohttp; ComfyUI, torch and the network are replaced by local stubs and a fake API.
python -m pip install aiohttp
python -m unittest discover -s tests -t .
python scripts/update_snapshot.py --public # refresh the bundled model list from public popnow.ai pages
python scripts/render_docs.py # rewrite the model lists in README.md and MODELS.md
POPNOW_API_KEY=sk-popnow-... python scripts/update_snapshot.py refreshes the snapshot from the
authenticated GET /api/v1/models?includeSchema=1 instead. See CONTRIBUTING.md.
License
MIT © PopNow