PopNowAPI Docs
Main content

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

RepositoryWhat it isInstall
popnow-pythonPython SDK, sync and asyncpip install from GitHub
popnow-jsJavaScript and TypeScript SDK for Node.js 18+, Deno, Bun and edge runtimesnpm install from GitHub
popnow-clipopnow command-line toolnpm install -g from GitHub
popnow-goGo clientgo get
popnow-phpPHP clientcomposer require popnow/popnow from a VCS repository
popnow-mcpSetup guide and client configs for the remote MCP serverNothing to install
popnow-skillsAgent Skills for Claude Code, Codex and other agentsClaude Code plugin marketplace
popnow-apiOpenAPI file, curl, Python and Node examples, an n8n workflowClone or copy
popnow-blenderSource of the Blender add-onZip from popnow.ai/blender
popnow-comfyuiComfyUI custom node packgit clone into custom_nodes
n8n-nodes-popnown8n community nodenpm 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"
Python (popnow SDK)
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-js
JavaScript (popnow SDK)
import { 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 --help

Go and PHP

popnow-go is a regular Go module:

go get github.com/popnow-ai/popnow-go

popnow-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-main

MCP 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-skills

The 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_nodes and 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 release branch 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#release

Is 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.

On this page