PopNowDokumentacja API
Integracje
Treść główna

Generowanie w chmurze w ComfyUI

Uruchamiaj modele obrazu, wideo i audio AI w chmurze z ComfyUI dzięki oficjalnemu pakietowi węzłów PopNow z ComfyUI Manager lub pojedynczemu plikowi węzła. Bez GPU i pobierania modeli; instalacja, wejścia, ceny i rozwiązywanie błędów.

Oficjalny pakiet węzłów PopNow udostępnia każdy model obrazu, wideo i audio PopNow w grafie ComfyUI. Węzeł wysyła zadanie do chmury, czeka i przekazuje wynik dalej. Niczego nie pobierasz na swoją kartę graficzną, więc nawet modele wideo wymagające znacznie więcej pamięci niż ma laptop działają bez problemu z laptopa.

Pakiet to popnow-comfyui w Comfy Registry, z otwartym kodem na GitHubie. Dodaje osobny węzeł dla każdego modelu, węzeł PopNow Generate przyjmujący nazwę dowolnego modelu oraz węzeł PopNow LoRA. Ta instrukcja odpowiada stronie ComfyUI na popnow.ai.

Instalacja w czterech krokach

Zainstaluj pakiet węzłów

W ComfyUI otwórz Manager > Custom Nodes Manager, wyszukaj PopNow, kliknij Install i uruchom ComfyUI ponownie. Z Comfy CLI:

comfy node install popnow-comfyui

Pakiet nie wymaga niczego poza samym ComfyUI (Python 3.10 lub nowszy). Jeśli wolisz instalację ze źródeł, sklonuj popnow-comfyui do ComfyUI/custom_nodes.

Dodaj klucz API

Utwórz klucz w konsoli API, otwórz Settings > PopNow w ComfyUI i wklej go. Uruchomienia zużywają osobne saldo API w USD, początkowo wynoszące 0 USD. Doładuj je w rozliczeniach API; kredyty strony nie opłacają tych uruchomień. Możesz też ustawić klucz w środowisku, z którego uruchamiasz ComfyUI:

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

W przenośnych wydaniach na Windows dodaj set POPNOW_API_KEY=sk-popnow-... do pliku .bat uruchamiającego ComfyUI. Uruchom program ponownie, by pobrał listę węzłów z twojego konta.

Dodaj węzeł

Kliknij dwukrotnie płótno i wpisz nazwę modelu (seedance, kling, wan, nano banana, suno …) albo przejrzyj PopNow > Video / Image / Audio. PopNow Generate przyjmuje dowolne ID ze strony Modele.

Dodaj do kolejki

Jeśli model przyjmuje obraz, połącz Load Image z wejściem obrazu. Podłącz Save Image, Save Video lub Save Audio i dodaj prompt do kolejki. W przeglądarce szablonów ComfyUI znajdziesz gotowe grafy pod popnow-comfyui.

Węzeł w jednym pliku

Jeśli wolisz jeden plik, który można przeczytać w minutę, węzeł PopNow Generate z pakietu jest też dostępny jako pojedynczy plik Pythona. Zapisz go jako custom_nodes/popnow_api.py w folderze ComfyUI, ustaw POPNOW_API_KEY tak jak wyżej i uruchom ComfyUI ponownie. Korzysta tylko z requests, Pillow, NumPy i PyTorch, które są już częścią ComfyUI.

Zainstaluj pakiet albo ten plik: oba dodają ten sam węzeł. Przechodząc na pakiet, usuń custom_nodes/popnow_api.py; zapisane workflow nadal będą działać.

Wejścia i wyjścia

To wejścia i wyjścia PopNow Generate, identyczne w pakiecie i w pojedynczym pliku. Osobne węzły modeli z pakietu pokazują zamiast nich pola danego modelu jako listy wyboru, suwaki i gniazda.

WejścieCo podać
modelID ze strony Modele, na przykład google/nano-banana-2.1/text-to-image lub minimax/h3/image-to-video
promptCo wygenerować. Zostaw puste, jeśli model nie przyjmuje promptu
optionsPozostałe pola modelu jako JSON, np. {"resolution": "2k"} lub {"duration_seconds": 5}. Wymienia je strona każdego modelu
image (opcjonalne)IMAGE z innego węzła. Zostanie automatycznie przesłany i umieszczony w polu wskazanym przez image_field
image_fieldPole, do którego trafi obraz: image_url dla większości modeli wideo, image_urls przy edycji obrazów
WyjścieZawartość
imageWynik jako IMAGE dla modeli obrazu; pusty obraz zastępczy dla wideo i audio
urlPodpisany URL pliku, ważny około 20 minut
pathDla wideo i audio: ścieżka zapisu pliku w folderze wyjściowym ComfyUI

Typowe konfiguracje

Celmodeloptionsimage_field
Tekst na obrazgoogle/nano-banana-2.1/text-to-image{"aspect_ratio": "16:9", "resolution": "1k"}—
Edycja lokalnego renderugoogle/nano-banana-2.1/edit{"resolution": "2k"}image_urls
Animacja nieruchomego obrazuminimax/h3/image-to-video{"duration_seconds": 5, "resolution": "768p"}image_url
Zwiększenie rozdzielczości klatkipopnow/image-upscaler-v1/upscale{}image_url
Wycięcie obiektu z tłapopnow/background-remover-v1/edit{}image_url

Typowy graf hybrydowy: utwórz pierwszą klatkę lokalnym modelem, animuj ją w chmurze modelem obraz-na-wideo, a następnie wczytaj zapisany MP4 węzłem do ładowania wideo i lokalnie zwiększ rozdzielczość lub interpoluj klatki.

Co węzeł robi pod spodem

Węzeł to prosta nakładka na trzy wywołania REST. Te same wywołania w innych językach:

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);

Przesłanie obrazu wejściowego to trzyetapowy proces ze strony Media. Zwraca referencję popnow://f/…, która działa wyłącznie z kluczami twojego konta.

Ceny

Każde uruchomienie zużywa USD z salda API według zwykłej ceny modelu; węzeł niczego nie dolicza. Nano Banana 2.1 w 1K kosztuje 0,048 USD za obraz, a MiniMax H3 w 768p — 0,185 USD za 5 sekund. Nieudane uruchomienia są bezpłatne. Ceny każdego modelu znajdziesz na jego stronie i na stronie Saldo API i zwroty. Dokładną kwotę uzyskasz przez jobs/quote.

Typowe błędy

Co pokazuje ComfyUIPrzyczynaRozwiązanie
No PopNow API key is set (pakiet)Brak klucza w Settings > PopNow lub w środowiskuWklej klucz w Settings > PopNow albo ustaw POPNOW_API_KEY i uruchom ponownie
Set POPNOW_API_KEY before starting ComfyUI (pojedynczy plik)Zmiennej nie ma w środowisku ComfyUIUstaw ją w tej samej powłoce lub pliku .bat, a następnie uruchom program ponownie
PopNow 401: …Brak klucza, literówka lub klucz został unieważnionyUtwórz nowy klucz w konsoli API
PopNow 400: … z nazwą polaoptions zawiera pole nieobsługiwane przez model lub wartość poza zakresemSprawdź stronę modelu; nieznane pola są odrzucane
PopNow 40201: …Za mało USD w APIDoładuj API w rozliczeniach API albo zmniejsz rozdzielczość lub długość
PopNow failed: …Model nie ukończył zadania lub odrzucił zapytanieNic nie pobrano; zmień prompt lub ustawienia
JSONDecodeErroroptions nie jest poprawnym JSON-emUżyj podwójnych cudzysłowów: {"resolution": "2k"}
Węzła nie ma w wynikach wyszukiwaniaNie zainstalowano pakietu lub pliku albo nie uruchomiono ComfyUI ponownieSprawdź Custom Nodes Manager lub folder custom_nodes i uruchom program ponownie; poszukaj błędów importu w konsoli
Model z popnow.ai nie ma węzłaPakiet tworzy listę węzłów z katalogu twojego konta podczas uruchamiania ComfyUIUruchom ComfyUI ponownie lub użyj PopNow Generate z ID modelu

Czy to oficjalny pakiet w rejestrze ComfyUI?

Tak. popnow-comfyui jest opublikowany przez PopNow w Comfy Registry, więc znajdziesz go zarówno przez ComfyUI Manager, jak i comfy node install popnow-comfyui. Kod na licencji MIT jest na GitHubie. Węzeł z tej strony to jego PopNow Generate w jednym pliku. Zobacz SDK, CLI i narzędzia open source.

Czy działa z ComfyUI Desktop i wydaniami przenośnymi?

Tak. Działa wszędzie, gdzie można instalować własne węzły: w wydaniach przenośnych, Desktop i na samodzielnie utrzymywanych serwerach.

Czy potrzebuję GPU?

Nie. Generowanie odbywa się po stronie PopNow; twój komputer tylko wysyła zapytanie i odbiera plik.

Jak wczytać klatki wideo z powrotem do grafu?

Węzeł zapisuje wideo w folderze wyjściowym ComfyUI i zwraca jego ścieżkę. Wczytaj je węzłem do ładowania wideo, by uzyskać klatki.

Na tej stronie