PopNowDocs API
Pour commencer
Contenu principal

SDK, CLI et outils open source

SDK PopNow officiels et open source pour Python, JavaScript, Go, PHP et Java, une CLI, le guide d’installation MCP, les Agent Skills, un proxy côté serveur, un bot de chat et les intégrations Blender, ComfyUI et n8n, avec les commandes d’installation depuis PyPI, npm, Packagist, Maven Central et le Comfy Registry.

Tout ce que PopNow publie pour les développeurs est open source, sous licence MIT, dans l’organisation popnow-ai sur GitHub. Les SDK encapsulent la même API REST que décrivent ces pages : les mêmes identifiants de modèle, les mêmes champs input et le même solde API en USD s’appliquent donc partout.

Les paquets sont publiés sur PyPI, npm, Packagist, Maven Central et le Comfy Registry ; installez-les avec les commandes de cette page. Le HTTP brut reste utilisable : chaque exemple de cette documentation utilise curl, fetch ou requests.

En un coup d’œil

DépôtCe que c’estInstallation
popnow-pythonSDK Python, synchrone et asynchronepip install popnow
popnow-jsSDK JavaScript et TypeScript pour Node.js 18+, Deno, Bun et les runtimes edgenpm install popnow
popnow-cliOutil en ligne de commande popnownpm install -g @popnow/cli
popnow-goClient Gogo get github.com/popnow-ai/popnow-go
popnow-phpClient PHPcomposer require popnow/popnow
popnow-javaClient Java pour Java 17+, Kotlin et les autres langages JVMai.popnow:popnow-java sur Maven Central
popnow-mcpGuide d’installation et configurations pour le serveur MCP distantRien à installer
popnow-skillsAgent Skills pour Claude Code, Codex et d’autres agentsMarché de plugins Claude Code
popnow-apiFichier OpenAPI, exemples curl, Python et Node, un workflow n8nCloner ou copier
popnow-proxyProxy côté serveur pour que les applications web et mobiles appellent l’API sans votre clénpm install @popnow/proxy
popnow-botBot Telegram et Discord auto-hébergé pour images, vidéos et effets vidéoDocker
popnow-blenderSource de l’extension BlenderZip depuis popnow.ai/blender
popnow-comfyuiPack de nœuds personnalisés pour ComfyUIComfyUI Manager, ou comfy node install popnow-comfyui
n8n-nodes-popnowNœud communautaire n8n (n8n auto-hébergé)Settings > Community Nodes : n8n-nodes-popnow

Chaque outil a besoin d’une clé API issue de la console API. Placez-la dans POPNOW_API_KEY ; les SDK et la CLI la lisent à cet endroit :

export POPNOW_API_KEY="sk-popnow-..."

SDK Python

popnow-python propose un client synchrone (PopNow) et un client asynchrone (AsyncPopNow), des résultats typés, des en-têtes Idempotency-Key automatiques, des nouvelles tentatives sur 429 et 503, l’envoi de fichiers, la bibliothèque de ressources et la vérification des signatures de webhook. Il exige Python 3.9 ou plus récent et ne dépend que de httpx.

pip install popnow
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.cost, "USD", task.urls[0])

images.generate crée la tâche, l’attend et lève TaskFailedError si elle n’aboutit pas. Les méthodes de plus bas niveau client.jobs.quote(), create(), get() et wait() correspondent une à une aux points d’accès des tâches.

SDK JavaScript et TypeScript

popnow-js n’a aucune dépendance à l’exécution et utilise le fetch global ; il tourne donc sur Node.js 18+, Deno, Bun, Cloudflare Workers et d’autres runtimes edge. Il livre des builds ESM et CommonJS avec leurs définitions de types.

npm install popnow

Sur Deno et Bun, il est aussi disponible sur JSR : deno add jsr:@popnow/popnow ou npx jsr add @popnow/popnow.

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 envoie pour vous un Idempotency-Key et interroge la tâche jusqu’à son état final. jobs.quote, jobs.create et jobs.wait sont là si vous voulez d’abord chiffrer le prix ou attendre ailleurs.

Ligne de commande

popnow-cli installe une commande popnow pour les scripts, les tâches CI et les tests rapides depuis un terminal. Elle exige Node.js 22.12 ou plus récent :

npm install -g @popnow/cli
popnow --help

Pour l’exécuter une seule fois sans l’installer : npx @popnow/cli status.

Go et PHP

popnow-go est un module Go classique (Go 1.23+) :

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

popnow-php (PHP 8.1+) est le paquet popnow/popnow sur Packagist :

composer require popnow/popnow

Java

popnow-java est un client pour Java 17+, Kotlin et les autres langages JVM, publié sur Maven Central sous ai.popnow:popnow-java. Sa seule dépendance est Jackson databind ; les requêtes HTTP passent par le HttpClient du JDK.

pom.xml
<dependency>
  <groupId>ai.popnow</groupId>
  <artifactId>popnow-java</artifactId>
  <version>0.1.0</version>
</dependency>
build.gradle.kts
dependencies {
    implementation("ai.popnow:popnow-java:0.1.0")
}
Java (popnow-java)
import ai.popnow.*;
import java.util.Map;
import java.util.UUID;

PopNowClient client = PopNowClient.builder().apiKeyFromEnvironment().build(); // POPNOW_API_KEY

CreateTaskRequest request = CreateTaskRequest.of("alibaba/z-image-turbo/text-to-image",
        Map.of("prompt", "A small red fox curled up in a teacup, soft morning light"));

TaskRecord task = client.run(request, UUID.randomUUID().toString()); // createTask + waitForTerminal
System.out.println(task.state() + " for " + task.cost() + " USD");

run crée la tâche avec le Idempotency-Key que vous transmettez et attend qu’elle soit finale ; createTask et waitForTerminal sont là si vous voulez séparer les deux étapes.

MCP et Agent Skills

Le serveur MCP distant ne nécessite aucun paquet : ajoutez https://api.popnow.ai/mcp dans ChatGPT, Claude, Cursor, VS Code ou Claude Code. popnow-mcp réunit des configurations à copier-coller pour chaque client, ainsi qu’un petit pont stdio pour les clients qui ne peuvent lancer que des serveurs locaux. Le pont est publié sur npm sous @popnow/mcp, donc npx -y @popnow/mcp le lance sans étape d’installation.

popnow-skills apprend aux agents de code à créer des vidéos, des images, de la musique et des voix off avec l’API REST, et à consulter la référence de l’API. Dans Claude Code :

/plugin marketplace add popnow-ai/popnow-skills
/plugin install popnow@popnow-skills

Le README couvre Codex, les applications Claude et les autres agents.

Exemples et intégrations

  • popnow-api contient le fichier OpenAPI, des exemples curl, Python et Node.js exécutables et un workflow n8n à importer. Si vous avez besoin d’un client dans un autre langage, donnez le fichier OpenAPI à un générateur de code.
  • popnow-blender est la source de l’extension Blender. Pour l’installer, téléchargez le zip sur popnow.ai/blender ; le dépôt peut aussi produire le même zip.
  • popnow-comfyui est un pack de nœuds ComfyUI sur le Comfy Registry : un nœud par modèle, plus PopNow Generate et PopNow LoRA. Dans ComfyUI Manager, ouvrez Custom Nodes Manager, recherchez PopNow et cliquez sur Install, ou lancez comfy node install popnow-comfyui. ComfyUI détaille toutes les étapes, ainsi que le nœud en un seul fichier si vous préférez un fichier lisible en une minute.
  • n8n-nodes-popnow est un nœud communautaire n8n disponible sur npm pour n8n auto-hébergé. Ouvrez Settings > Community Nodes > Install et saisissez n8n-nodes-popnow, ou installez-le depuis un shell puis redémarrez n8n. Ce n’est pas encore un nœud vérifié, donc n8n Cloud ne peut pas l’installer ; le workflow HTTP Request ne nécessite aucune installation et fonctionne aussi là-bas.
  • popnow-proxy est une petite route côté serveur pour Next.js, Express et les autres runtimes fetch. Une application web, mobile ou de bureau appelle votre serveur, et le proxy y ajoute la clé API : la clé n’est donc jamais embarquée dans le client. Il exige Node.js 22.12 ou plus récent.
  • popnow-bot est un bot Telegram et Discord que vous exécutez vous-même avec Docker : images, vidéos et effets vidéo dans une conversation, avec une vérification du prix avant les générations payantes et des plafonds de dépense quotidiens. Clonez le dépôt et démarrez-le avec docker compose up -d --build, ou récupérez l’image précompilée popnow/popnow-bot sur Docker Hub.
# n8n community node, from a shell on self-hosted n8n
mkdir -p ~/.n8n/nodes && cd ~/.n8n/nodes
npm install n8n-nodes-popnow
# server-side proxy
npm install @popnow/proxy

Existe-t-il un SDK PopNow officiel ?

Oui. Les SDK Python et JavaScript, la CLI, ainsi que les clients Go, PHP et Java présentés sur cette page sont maintenus par PopNow et sont open source sous github.com/popnow-ai.

Les SDK sont-ils sur npm ou PyPI ?

Oui. pip install popnow installe le SDK Python depuis PyPI, et npm install popnow le SDK JavaScript depuis npm. La CLI est @popnow/cli sur npm, le client PHP est popnow/popnow sur Packagist, le client Java est ai.popnow:popnow-java sur Maven Central, et le pack ComfyUI est popnow-comfyui sur le Comfy Registry. Le CHANGELOG.md de chaque dépôt liste ses versions.

Faut-il utiliser un SDK ou appeler directement l’API REST ?

Les deux sont possibles. Les SDK ajoutent les nouvelles tentatives, les clés d’idempotence, l’interrogation et les résultats typés. Le HTTP brut ne demande aucune installation et c’est ce que montrent tous les exemples de cette documentation.

Les SDK coûtent-ils quelque chose ?

Non. Le code est gratuit sous licence MIT ; les générations API dépensent le solde API séparé en USD, aux mêmes prix de modèle que le site. Approvisionnez-le dans Facturation API. MCP par OAuth utilise les crédits du site ; MCP avec clé API utilise les USD API.

Où signaler un bogue ?

Ouvrez une issue dans le dépôt concerné. Pour un problème de sécurité, suivez le fichier SECURITY.md de ce dépôt au lieu d’ouvrir une issue publique.

Sur cette page