Obrazy i wideo AI w workflow n8n
Generuj obrazy, wideo i audio AI w n8n za pomocą wbudowanego węzła HTTP Request i API PopNow. JSON workflow do importu, konfiguracja poświadczeń, pętla odpytywania, webhooki i rozwiązania typowych błędów.
Do korzystania z PopNow w n8n nie potrzebujesz węzła społecznościowego: dwa wbudowane węzły HTTP Request, jeden Wait i jeden If wystarczą, by utworzyć zadanie, poczekać na wynik i przekazać plik dalej. Ten sam schemat działa z każdym modelem obrazu, wideo i audio. Możesz więc przesłać arkusz promptów do modelu tekst-na-obraz, zamieniać nowe zdjęcia produktów w krótkie filmy albo nagrywać tekst lektorski wiersz po wierszu.
Ta instrukcja odpowiada stronie n8n na popnow.ai, która tworzy taki sam workflow dla wybranego modelu. We własnej instalacji n8n możesz też zainstalować węzeł społecznościowy PopNow: otwórz Settings > Community Nodes > Install i wpisz n8n-nodes-popnow (npm, GitHub).

Czego potrzebujesz
- n8n 1.x (w chmurze lub we własnej instalacji). Węzeł HTTP Request musi być w wersji 4 lub nowszej.
- Klucza API PopNow z konsoli API. Przydziel n8n osobny klucz z dziennym limitem wydatków, by zapętlony workflow nie wyczerpał salda.
- Środków na osobnym saldzie API w USD. Początkowo wynosi ono 0 USD; doładuj je w rozliczeniach API. Test z poniższym modelem kosztuje 0,01 USD; kredyty strony go nie opłacają.
1. Utwórz poświadczenie
W n8n otwórz Credentials → Add credential → Header Auth i wypełnij pola:
| Pole | Wartość |
|---|---|
| Nazwa | PopNow |
| Nazwa nagłówka | Authorization |
| Wartość nagłówka | Bearer sk-popnow-… (twój klucz poprzedzony słowem Bearer i spacją) |
Zanim zaczniesz tworzyć workflow, sprawdź klucz w terminalu. To wywołanie odczytuje saldo i nic nie kosztuje:
curl "https://api.popnow.ai/api/v1/chat/credit" \
-H "Authorization: Bearer $POPNOW_API_KEY"Odczytuj availableUsd, heldUsd i totalUsd jako ciągi dziesiętne w USD dla salda API.
2. Zaimportuj workflow
Skopiuj JSON, kliknij puste miejsce na płótnie n8n i wklej. Następnie otwórz Create task oraz Check task i w obu wybierz poświadczenie PopNow.
Workflow wykonuje kolejno: Start → Create task → Wait 5 s → Check task → Finished? Jeśli zadanie jeszcze trwa, wraca do oczekiwania. Gdy się zakończy, File URL zwraca state, fileUrl i error.
Co robią poszczególne węzły:
| Węzeł | Ustawienie | Dlaczego |
|---|---|---|
| Create task | POST /api/v1/jobs/createTask, treść JSON { "model", "input" } | model to dowolne ID ze strony Modele; input musi odpowiadać schematowi tego modelu |
| Create task | Nagłówek Idempotency-Key: {{ $execution.id }} | Gdy n8n ponowi węzeł, otrzymasz to samo zadanie zamiast drugiego obciążenia. Zobacz Idempotencja |
| Wait 5 s | 5 sekund | Obrazy zwykle są gotowe po jednym lub dwóch obiegach pętli; wideo zajmuje od jednej do trzech minut |
| Check task | GET /api/v1/jobs/recordInfo?taskId=… | Odczytuje state i output zadania |
| Finished? | state jest końcowy i żaden plik nie jest już kopiowany | succeeded, failed i expired to stany końcowe; zobacz Zadania |
| File URL | data.output.assets[0].url | Podpisany link działający około 20 minut. Jeśli chcesz zachować plik, pobierz go w następnym węźle |
Zmień model lub dane wejściowe
Zmień treść JSON w Create task. Strona każdego modelu podaje jego ID, pola i cenę. Kilka częstych zamian:
| Cel | model | input |
|---|---|---|
| Lepszy tekst na obrazach | google/nano-banana-2.1/text-to-image | prompt, aspect_ratio, resolution (0,048 USD przy 1K) |
| Edycja zdjęcia | google/nano-banana-2.1/edit | prompt, image_urls |
| Zdjęcie na wideo | minimax/h3/image-to-video | prompt, image_url, duration_seconds (0,185 USD za 5 s w 768p) |
| Tekst lektorski | google/gemini-3.8-flash-tts/text-to-speech | text, voice_id |
Aby użyć danych z wcześniejszego węzła, przełącz treść na wyrażenie, na przykład:
{{ JSON.stringify({ model: 'alibaba/z-image-turbo/text-to-image', input: { prompt: $json.prompt, aspect_ratio: '16:9' } }) }}Pliki z wcześniejszych węzłów wymagają publicznego adresu https albo wcześniejszego przesłania. Strona Media opisuje trzy wywołania przesyłania, którym odpowiadają trzy węzły HTTP Request.
Użyj webhooka zamiast odpytywania
Przy długich zadaniach wideo pozwól PopNow wywołać n8n, zamiast używać pętli. W drugim workflow dodaj wyzwalacz Webhook (POST), skopiuj jego produkcyjny URL i przekaż go jako callBackUrl w treści Create task:
{
"model": "minimax/h3/image-to-video",
"input": { "image_url": "https://media.popnow.ai/movie/lighthouse.webp", "prompt": "The waves roll in slowly" },
"callBackUrl": "https://your-n8n.example.com/webhook/popnow"
}URL webhooka musi być publicznym adresem HTTPS, więc lokalne n8n wymaga tunelu. Każde powiadomienie jest podpisane. Strona Webhooki pokazuje, jak sprawdzić podpis w węźle Code i dlaczego warto zapisywać request_id, by pomijać duplikaty.
To samo wywołanie poza n8n
Przydaje się do sprawdzenia treści zapytania, zanim wkleisz ją do węzła.
curl -X POST "https://api.popnow.ai/api/v1/jobs/createTask?wait=60" \
-H "Authorization: Bearer $POPNOW_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{"model": "alibaba/z-image-turbo/text-to-image", "input": {"prompt": "A small red fox curled up in a teacup, soft morning light, studio photo", "aspect_ratio": "1:1"}}'import os, uuid, requests
res = requests.post(
"https://api.popnow.ai/api/v1/jobs/createTask",
params={"wait": 60},
headers={"Authorization": f"Bearer {os.environ['POPNOW_API_KEY']}", "Idempotency-Key": str(uuid.uuid4())},
json={"model": "alibaba/z-image-turbo/text-to-image", "input": {"prompt": "A small red fox curled up in a teacup, soft morning light, studio photo", "aspect_ratio": "1:1"}},
timeout=90,
).json()
print(res["data"]["state"], res["data"].get("output", {}).get("assets", [{}])[0].get("url"))const res = await fetch('https://api.popnow.ai/api/v1/jobs/createTask?wait=60', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.POPNOW_API_KEY}`,
'Content-Type': 'application/json',
'Idempotency-Key': crypto.randomUUID(),
},
body: JSON.stringify({
model: 'alibaba/z-image-turbo/text-to-image',
input: { prompt: 'A small red fox curled up in a teacup, soft morning light, studio photo', aspect_ratio: '1:1' },
}),
});
const { data } = await res.json();
console.log(data.state, data.output?.assets?.[0]?.url);Ceny
Workflow zużywa USD z salda API tylko w Create task; odczytywanie zadań jest bezpłatne. Zadanie zakończone niepowodzeniem lub wygaśnięciem nic nie kosztuje, a ponowienie węzła z tym samym Idempotency-Key nie powoduje drugiego obciążenia. Przed uruchomieniem na większą skalę wyceń każdy model przez jobs/quote. Zasady opisuje strona Saldo API i zwroty.
Typowe błędy
| Co pokazuje n8n | Przyczyna | Rozwiązanie |
|---|---|---|
401 z Create task | Brak poświadczenia lub prefiksu Bearer w jego wartości | Wartość nagłówka musi mieć postać Bearer sk-popnow-… |
code: 400 z nazwą pola w msg | Pole nie należy do schematu modelu albo wartość jest poza zakresem | Sprawdź stronę modelu; nieznane pola są odrzucane |
code: 40201 | Za mało USD w API na blokadę tego zadania | Doładuj API w rozliczeniach API albo wybierz tańszy model lub ustawienie |
code: 40202 | Zostałby przekroczony limit wydatków klucza | Zwiększ limit tego klucza w konsoli API |
code: 429 | Zbyt wiele zapytań | Wydłuż oczekiwanie albo przetwarzaj mniej elementów równolegle; zobacz Limity zapytań |
| Pętla nigdy się nie kończy | Zadanie nadal trwa albo Finished? odczytuje niewłaściwe pole | Wideo może zająć kilka minut; upewnij się, że Check task odczytuje taskId z Create task |
fileUrl działa, ale później zwraca 403 | Podpisane linki działają około 20 minut | Pobierz plik w tym samym uruchomieniu albo odczytaj zadanie ponownie, by dostać nowy link |
state: failed | Model nie zdołał ukończyć zadania lub odrzucił treść | Nic nie pobrano; odczytaj errorCode i sprawdź Błędy |
Czy istnieje oficjalny węzeł społecznościowy PopNow dla n8n?
Tak: n8n-nodes-popnow jest dostępny w npm, a jego kod źródłowy na GitHubie. We własnej instalacji n8n otwórz Settings > Community Nodes > Install, wpisz n8n-nodes-popnow i potwierdź. Z terminala możesz uruchomić npm install n8n-nodes-popnow w ~/.n8n/nodes, a następnie ponownie uruchomić n8n. Węzeł nie jest jeszcze zweryfikowany, więc nie da się go zainstalować w n8n Cloud. Nie jest jednak konieczny: wbudowany HTTP Request obsługuje wszystkie możliwości API, działa w n8n Cloud, a workflow z tej strony zaimportujesz jednym wklejeniem.
Czy n8n może generować kilka wyników naraz?
Tak. Każdy element docierający do Create task staje się osobnym zadaniem i zadania generują się równolegle. Pilnuj limitów zapytań i ustaw limit wydatków klucza.
Jak zapisać wygenerowany plik w Google Drive lub S3?
Po File URL dodaj węzeł HTTP Request, który pobierze fileUrl jako plik (format odpowiedzi File), a następnie przekaż go do węzła Google Drive, S3 lub innego magazynu plików.
Powiązane
Przepisy
Obrazy z CSV, zdjęcie na wideo, tekst lektorski i powiadomienia w Pythonie i Node.
Webhooki
Podpisane powiadomienia, ponowienia i obsługa duplikatów.
ComfyUI
Własny węzeł uruchamiający modele PopNow w twoim grafie.
Workflow dla dowolnego modelu
Strona n8n na popnow.ai generuje ten JSON dla wybranego modelu.
Przepisy i skille
Uruchamiaj zapisane przepisy i workflowy przez API lub MCP. Pobierz wycenę i zatwierdź budżet w USD, śledź każdy krok i wznawiaj wstrzymane uruchomienia pierwotnym kluczem API.
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.

