PopNowAPI ドキュメント
連携
本文

クラウド生成のための ComfyUI ノード

ComfyUI Manager から公式の PopNow ノードパック、または単一ファイルのカスタムノードで、クラウドの AI 画像・動画・音声モデルを ComfyUI 内で実行します。GPU もモデルのダウンロードも不要。インストール手順、入力、料金、エラーの直し方。

公式の PopNow ノードパックを使うと、PopNow のすべての画像・動画・音声モデルを ComfyUI のグラフに組み込めます。各ノードはジョブをクラウドに送り、完了を待って、結果を次のノードに渡します。GPU にモデルをダウンロードすることはないので、ノートパソコンのメモリでは足りない動画モデルもノートパソコンから実行できます。

このパックは Comfy Registry の popnow-comfyui にあり、ソースは GitHub で公開しています。モデルごとにノードを 1 つ追加し、任意のモデルを名前で指定できる PopNow Generate ノードと、PopNow LoRA ノードも含みます。このページは popnow.ai の ComfyUI ページと対応しています。

4 つの手順でインストール

ノードパックを入れる

ComfyUI で Manager > Custom Nodes Manager を開き、PopNow を検索して Install をクリックし、ComfyUI を再起動します。Comfy CLI を使う場合は次のとおりです。

comfy node install popnow-comfyui

パックに必要なのは ComfyUI 本体だけです(Python 3.10 以降)。代わりにソースから入れる場合は、popnow-comfyui を ComfyUI/custom_nodes にクローンしてください。

API キーを追加する

API コンソールでキーを作成し、ComfyUI の Settings > PopNow を開いて貼り付けます。実行には初期残高 $0 の専用 API USD 残高を使います。API billing で入金してください。ウェブサイトのクレジットでは支払えません。または、ComfyUI を起動する環境に設定することもできます。

export POPNOW_API_KEY="sk-popnow-..."
python main.py

Windows のポータブル版では、ComfyUI を起動する .bat ファイルに set POPNOW_API_KEY=sk-popnow-... を追加してください。アカウントからノード一覧を取得させるために、もう一度再起動します。

ノードを追加する

キャンバスをダブルクリックしてモデル名(seedance、kling、wan、nano banana、suno …)を入力するか、PopNow > Video / Image / Audio を参照してください。PopNow Generate は モデルにある任意のモデル ID を受け付けます。

キューに入れる

モデルが画像を必要とする場合は Load Image を画像の入力につなぎ、Save Image、Save Video、Save Audio のいずれかを接続して、プロンプトをキューに入れます。ComfyUI のテンプレートブラウザには、popnow-comfyui の下にすぐ使えるグラフがあります。

単一ファイルのノード

1 分で読み終えられる 1 ファイルの形がよければ、パックの PopNow Generate ノードは単一の Python ファイルとしても配布しています。ComfyUI フォルダ内の custom_nodes/popnow_api.py として保存し、上のとおり POPNOW_API_KEY を設定して ComfyUI を再起動してください。使うのは requests、Pillow、NumPy、PyTorch だけで、これらは ComfyUI に同梱されています。

パックかこのファイルのどちらか一方だけを入れてください。同じノードを追加してしまいます。パックに移行するときは custom_nodes/popnow_api.py を削除します。保存済みのワークフローはそのまま動きます。

入力と出力

以下は PopNow Generate の入力と出力です。パックでも単一ファイルでも同じです。パックのモデル別ノードでは、各モデル自身のフィールドがドロップダウン、スライダー、ソケットとして表示されます。

入力指定する内容
modelモデルにあるモデル ID。例:google/nano-banana-2.1/text-to-image や minimax/h3/image-to-video
prompt作りたいもの。プロンプトを取らないモデルでは空のままにします
optionsモデルのそのほかのフィールドを JSON で。例:{"resolution": "2k"} や {"duration_seconds": 5}。各モデルのページに一覧があります
image(任意)別のノードの IMAGE。自動でアップロードされ、image_field で指定したフィールドに入ります
image_field画像を入れるフィールド。ほとんどの動画モデルは image_url、画像編集は image_urls
出力中身
image画像モデルの結果を IMAGE で。動画と音声では空のプレースホルダー
url署名付きのファイル URL。約 20 分間有効
path動画と音声の場合、ComfyUI の出力フォルダーに保存されたファイルのパス

よくある設定

目的modeloptionsimage_field
テキストから画像google/nano-banana-2.1/text-to-image{"aspect_ratio": "16:9", "resolution": "1k"}—
ローカルのレンダーを編集google/nano-banana-2.1/edit{"resolution": "2k"}image_urls
静止画を動かすminimax/h3/image-to-video{"duration_seconds": 5, "resolution": "768p"}image_url
フレームを拡大popnow/image-upscaler-v1/upscale{}image_url
被写体を切り抜くpopnow/background-remover-v1/edit{}image_url

典型的なハイブリッドのグラフは次のとおりです。ローカルのチェックポイントで開始フレームを作り、画像から動画へのモデルでクラウド上で動かし、保存された MP4 を動画ローダーのノードで読み戻して、ローカルで拡大や補間を行います。

ノードの内部で行っていること

このノードは 3 つの REST 呼び出しを包んだ薄いラッパーです。同じ呼び出しを、ほかの言語で書くと次のようになります。

curl -X POST "https://api.popnow.ai/api/v1/jobs/createTask" \
  -H "Authorization: Bearer $POPNOW_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"model": "google/nano-banana-2.1/text-to-image", "input": {"prompt": "A lighthouse on a cliff at dusk, warm window light", "aspect_ratio": "16:9", "resolution": "1k"}}'

curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=job_..." \
  -H "Authorization: Bearer $POPNOW_API_KEY"
JavaScript
const API = 'https://api.popnow.ai/api/v1';
const auth = { Authorization: `Bearer ${process.env.POPNOW_API_KEY}` };
const created = await fetch(`${API}/jobs/createTask`, {
  method: 'POST',
  headers: { ...auth, 'Content-Type': 'application/json', 'Idempotency-Key': crypto.randomUUID() },
  body: JSON.stringify({
    model: 'google/nano-banana-2.1/text-to-image',
    input: { prompt: 'A lighthouse on a cliff at dusk, warm window light', aspect_ratio: '16:9', resolution: '1k' },
  }),
}).then((r) => r.json());
console.log(created.data.taskId);

入力画像のアップロードは メディアの 3 段階の手順で行います。結果は popnow://f/… という参照になり、これはご自身のアカウントのキーでのみ使えます。

料金

各実行はモデルの通常料金で API USD を使い、ノードの追加料金はありません。Nano Banana 2.1 の 1K は画像 1 枚 $0.048、MiniMax H3 の 768p は 5 秒 $0.185 です。失敗した実行は課金されません。すべてのモデルの料金は各ページと API 残高と返金にあります。正確な金額は jobs/quote で確認してください。

よくあるエラー

ComfyUI の表示原因対処
No PopNow API key is set(パック)Settings > PopNow にも環境変数にもキーがないSettings > PopNow にキーを貼り付けるか POPNOW_API_KEY を設定してから、もう一度実行してください
Set POPNOW_API_KEY before starting ComfyUI(単一ファイル)ComfyUI の環境に変数がない同じシェルまたは .bat ファイルで設定してから、再起動してください
PopNow 401: …キーがない、綴りが違う、または取り消されているAPI コンソールで新しいキーを作成してください
フィールド名を含む PopNow 400: …options にモデルが受け付けないフィールドがある、または値が範囲外モデルのページを確認してください。未知のフィールドは拒否されます
PopNow 40201: …API USD が足りないAPI billing で入金するか、解像度や長さを下げてください
PopNow failed: …モデルが完了できなかった、またはリクエストを断った課金はありません。プロンプトや設定を変えてください
JSONDecodeErroroptions が正しい JSON ではないダブルクォートを使ってください:{"resolution": "2k"}
検索一覧にノードが出ないパックもファイルも入っていない、または ComfyUI を再起動していないCustom Nodes Manager か custom_nodes フォルダーを確認し、再起動してください。コンソールに import エラーがないか見てください
popnow.ai にあるモデルのノードがないパックは ComfyUI の起動時にアカウントのカタログからノード一覧を作るComfyUI を再起動するか、モデル ID を指定して PopNow Generate を使ってください

これは ComfyUI のレジストリにある公式パッケージですか?

はい。popnow-comfyui は PopNow が Comfy Registry に公開したもので、ComfyUI Manager と comfy node install popnow-comfyui のどちらでも見つかります。ソースは GitHub にあり、MIT ライセンスです。このページの単一ファイルのノードは、その PopNow Generate ノードを 1 ファイルにしたものです。SDK、CLI、オープンソースのツールも参照してください。

ComfyUI Desktop やポータブル版でも動きますか?

はい。カスタムノードを入れられる場所なら動きます。ポータブル版、Desktop 版、セルフホストのサーバーのいずれでも使えます。

GPU は必要ですか?

いいえ。生成は PopNow 側で実行されます。お使いのマシンはリクエストを送り、ファイルを受け取るだけです。

動画のフレームをグラフに戻すには?

ノードは動画を ComfyUI の出力フォルダーに保存し、そのパスを返します。動画ローダーのノードで読み込めばフレームが得られます。

このページの内容