クラウド生成のための 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.pyWindows のポータブル版では、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 の出力フォルダーに保存されたファイルのパス |
よくある設定
| 目的 | model | options | image_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"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: … | モデルが完了できなかった、またはリクエストを断った | 課金はありません。プロンプトや設定を変えてください |
JSONDecodeError | options が正しい 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 の出力フォルダーに保存し、そのパスを返します。動画ローダーのノードで読み込めばフレームが得られます。

