SDKs, CLI and open-source tools
Official open-source PopNow SDKs for Python and JavaScript, a CLI, Go and PHP clients, the MCP setup guide, Agent Skills, OpenAPI examples and the Blender, ComfyUI and n8n integrations, with install commands from GitHub.
Everything PopNow publishes for developers is open source under the popnow-ai organization on GitHub, MIT-licensed. The SDKs wrap the same REST API these docs describe, so every page here still applies: same model IDs, same input fields, same credits.
None of the packages are on npm, PyPI, Packagist or the ComfyUI Registry yet. Until they are, install straight from GitHub with the commands on this page. Plain HTTP keeps working too; every example in these docs uses curl, fetch or requests.
At a glance
| Repository | What it is | Install |
|---|---|---|
| popnow-python | Python SDK, sync and async | pip install from GitHub |
| popnow-js | JavaScript and TypeScript SDK for Node.js 18+, Deno, Bun and edge runtimes | npm install from GitHub |
| popnow-cli | popnow command-line tool | npm install -g from GitHub |
| popnow-go | Go client | go get |
| popnow-php | PHP client | composer require popnow/popnow from a VCS repository |
| popnow-mcp | Setup guide and client configs for the remote MCP server | Nothing to install |
| popnow-skills | Agent Skills for Claude Code, Codex and other agents | Claude Code plugin marketplace |
| popnow-api | OpenAPI file, curl, Python and Node examples, an n8n workflow | Clone or copy |
| popnow-blender | Source of the Blender add-on | Zip from popnow.ai/blender |
| popnow-comfyui | ComfyUI custom node pack | git clone into custom_nodes |
| n8n-nodes-popnow | n8n community node | npm install from GitHub (self-hosted n8n) |
Every tool needs an API key from the API console. Put it in POPNOW_API_KEY; the SDKs and the CLI read it from there:
export POPNOW_API_KEY="sk-popnow-..."Python SDK
popnow-python has a sync client (PopNow) and an async one (AsyncPopNow), typed results, automatic Idempotency-Key headers, retries on 429 and 503, file uploads, the asset library and webhook signature checks. It needs Python 3.9 or newer and depends only on httpx.
pip install "git+https://github.com/popnow-ai/popnow-python"from popnow import PopNow
client = PopNow() # reads POPNOW_API_KEY
task = client.images.generate(
model="alibaba/z-image-turbo/text-to-image",
prompt="A small red fox curled up in a teacup, soft morning light",
)
print(task.state, task.credits, task.urls[0])images.generate creates the task, waits for it and raises TaskFailedError unless it succeeds. The lower-level client.jobs.quote(), create(), get() and wait() map one to one onto the task endpoints.
JavaScript and TypeScript SDK
popnow-js has no runtime dependencies and uses the global fetch, so it runs on Node.js 18+, Deno, Bun, Cloudflare Workers and other edge runtimes. It ships ESM and CommonJS builds with type definitions.
Install it straight from GitHub; npm builds it during install:
npm install github:popnow-ai/popnow-jsimport { PopNow } from 'popnow';
const popnow = new PopNow(); // reads POPNOW_API_KEY
const task = await popnow.jobs.createAndWait({
model: 'alibaba/z-image-turbo/text-to-image',
input: { prompt: 'A small red fox curled up in a teacup, soft morning light' },
});
console.log(task.state, task.output?.assets?.[0]?.url);createAndWait sends an Idempotency-Key for you and polls until the task is final. jobs.quote, jobs.create and jobs.wait are there when you want to price first or wait somewhere else.
Command line
popnow-cli installs a popnow command for scripts, CI jobs and quick tests from a terminal. npm builds it during the install:
npm install -g github:popnow-ai/popnow-cli
popnow --helpGo and PHP
popnow-go is a regular Go module:
go get github.com/popnow-ai/popnow-gopopnow-php (PHP 8.1+) installs through Composer from its GitHub repository until it reaches Packagist. Add the repository, then require popnow/popnow:
composer config repositories.popnow vcs https://github.com/popnow-ai/popnow-php
composer require popnow/popnow:dev-mainMCP and Agent Skills
The remote MCP server needs no package: add https://api.popnow.ai/mcp to ChatGPT, Claude, Cursor, VS Code or Claude Code. popnow-mcp collects copy-paste configs for each client and the source of a small stdio bridge for clients that can only start local servers. The bridge is not on npm; the README shows how to build it from the clone.
popnow-skills teaches coding agents to make videos, images, music and voiceovers with the REST API, and to look up the API reference. In Claude Code:
/plugin marketplace add popnow-ai/popnow-skills
/plugin install popnow@popnow-skillsThe README covers Codex, the Claude apps and other agents.
Examples and integrations
- popnow-api holds the OpenAPI file, runnable curl, Python and Node.js examples and an importable n8n workflow. Point a code generator at the OpenAPI file if you need a client in another language.
- popnow-blender is the source of the Blender add-on. To install it, download the zip from popnow.ai/blender; the repository can also build the same zip.
- popnow-comfyui is a ComfyUI node pack. Clone it into
ComfyUI/custom_nodesand restart ComfyUI. The single-file node on this site still works if you prefer one file you can read in a minute. - n8n-nodes-popnow is an n8n community node for self-hosted n8n. Install the built
releasebranch into n8n's nodes folder, then restart n8n. The HTTP Request workflow needs no install and also works on n8n Cloud.
mkdir -p ~/.n8n/nodes && cd ~/.n8n/nodes
npm install github:popnow-ai/n8n-nodes-popnow#releaseIs there an official PopNow SDK?
Yes. The Python and JavaScript SDKs, the CLI and the Go and PHP clients on this page are maintained by PopNow and open source under github.com/popnow-ai.
Are the SDKs on npm or PyPI?
Not yet. Install them from GitHub with the commands above. Registry releases will be listed in the changelog.
Should I use an SDK or call the REST API directly?
Either. The SDKs add retries, idempotency keys, polling and typed results. Raw HTTP needs nothing installed and is what every example in these docs shows.
Do the SDKs cost anything?
No. The code is free under the MIT license; generations use the same credits as the website and the REST API.
Where do I report a bug?
Open an issue in the repository it belongs to. For a security problem, follow the SECURITY.md file in that repository instead of opening a public issue.

