Воркфлоу n8n для AI-изображений и видео
Генерируйте AI-изображения, видео и аудио в n8n со встроенным узлом HTTP Request и API PopNow. JSON воркфлоу для импорта, настройка учётных данных, цикл опроса, вебхуки и решения частых ошибок.
Для PopNow в n8n не нужен community-узел: достаточно двух встроенных узлов HTTP Request, а также Wait и If, чтобы создать задачу, дождаться её и передать файл дальше по воркфлоу. Тот же шаблон работает для каждой модели изображений, видео и аудио: можно прогнать таблицу с промптами через модель «текст в изображение», превратить новые фото товаров в короткие видео или озвучивать сценарий построчно.
Эта страница соответствует странице n8n на popnow.ai, где собран такой же воркфлоу для любой выбранной модели. В self-hosted n8n можно также установить community-узел PopNow: откройте Settings > Community Nodes > Install и введите n8n-nodes-popnow (npm, GitHub).

Что понадобится
- n8n 1.x (облако или self-hosted). Узел HTTP Request должен быть версии 4 или новее.
- API-ключ PopNow из API-консоли. Дайте n8n собственный ключ с дневным лимитом расходов, чтобы зациклившийся воркфлоу не мог опустошить баланс.
- Средства API на отдельном балансе в USD. Начальный баланс — $0; пополните его в разделе Оплата API. Каждый тестовый запуск модели ниже стоит $0.01; кредиты сайта его не оплатят.
1. Создайте учётные данные
В n8n откройте Credentials → Add credential → Header Auth и заполните:
| Поле | Значение |
|---|---|
| Name | PopNow |
| Header name | Authorization |
| Header value | Bearer sk-popnow-… (ваш ключ, перед ним — слово Bearer и пробел) |
Чтобы проверить ключ до того, как что-либо собирать, выполните это в терминале. Команда читает баланс и ничего не стоит:
curl "https://api.popnow.ai/api/v1/chat/credit" \
-H "Authorization: Bearer $POPNOW_API_KEY"Читайте availableUsd, heldUsd и totalUsd как десятичные строки в USD для баланса API.
2. Импортируйте воркфлоу
Скопируйте JSON, кликните по свободному месту на холсте n8n и вставьте. Затем откройте Create task и Check task и выберите в обоих учётные данные PopNow.
Воркфлоу работает так: Start → Create task → Wait 5 s → Check task → Finished? Если задача ещё выполняется, он возвращается к ожиданию. Когда она готова, File URL выводит state, fileUrl и error.
Что делает каждый узел:
| Узел | Настройка | Зачем |
|---|---|---|
| Create task | POST /api/v1/jobs/createTask, JSON-тело { "model", "input" } | model — любой ID модели со страницы Модели; input должен соответствовать схеме этой модели |
| Create task | Заголовок Idempotency-Key: {{ $execution.id }} | Если n8n повторит узел, вы получите ту же задачу вместо второго списания. См. Идемпотентность |
| Wait 5 s | 5 секунд | Изображения обычно готовы за один-два цикла; видео занимает от одной до трёх минут |
| Check task | GET /api/v1/jobs/recordInfo?taskId=… | Читает state и output задачи |
| Finished? | state конечный, и ни один файл ещё не копируется | succeeded, failed и expired — конечные состояния; см. Задачи |
| File URL | data.output.assets[0].url | Подписанная ссылка, действует около 20 минут. Если файл нужно сохранить, скачайте его в следующем узле |
Смените модель или входные данные
Измените JSON-тело Create task. На странице каждой модели указаны её ID, поля и цена. Несколько частых замен:
| Цель | model | input |
|---|---|---|
| Точнее передаёт текст на изображении | google/nano-banana-2.1/text-to-image | prompt, aspect_ratio, resolution ($0.048 за 1K) |
| Редактировать фото | google/nano-banana-2.1/edit | prompt, image_urls |
| Фото в видео | minimax/h3/image-to-video | prompt, image_url, duration_seconds ($0.185 за 5 с при 768p) |
| Озвучка | google/gemini-3.8-flash-tts/text-to-speech | text, voice_id |
Чтобы использовать данные из предыдущего узла, переведите тело в выражение, например:
{{ JSON.stringify({ model: 'alibaba/z-image-turbo/text-to-image', input: { prompt: $json.prompt, aspect_ratio: '16:9' } }) }}Файлы из предыдущих узлов нужны по публичной ссылке https или сначала загруженные. В разделе Медиа показаны три вызова загрузки, которые соответствуют трём узлам HTTP Request.
Используйте вебхук вместо опроса
Для долгих видеозадач пусть PopNow сам вызывает n8n, вместо того чтобы крутить цикл. Добавьте во второй воркфлоу триггер-узел Webhook (POST), скопируйте его production-адрес и передайте его как callBackUrl в тело 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"
}Адрес вебхука должен быть публичным HTTPS, поэтому локальному n8n нужен туннель. Каждая доставка подписана. В разделе Вебхуки показано, как проверить подпись в узле Code и почему стоит сохранять request_id, чтобы игнорировать повторные доставки.
Тот же вызов вне n8n
Удобно, чтобы проверить тело запроса до того, как вставить его в узел.
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);Цены
Воркфлоу тратит USD API только в Create task; чтение задач бесплатно. Задача, которая не удалась или истекла, ничего не стоит, а повторно выполненный узел с тем же Idempotency-Key не списывается дважды. Перед запуском в большом объёме узнайте цену каждой модели через jobs/quote. Правила описаны в разделе Баланс API и возвраты.
Частые ошибки
| n8n показывает | Причина | Решение |
|---|---|---|
401 от Create task | Учётные данные не заданы или в значении нет Bearer | Значение заголовка должно быть Bearer sk-popnow-… |
code: 400 с именем поля в msg | Поля нет в схеме модели или значение вне допустимого диапазона | Проверьте страницу модели; неизвестные поля отклоняются |
code: 40201 | USD API не хватает на резерв этой задачи | Пополните баланс в разделе Оплата API или выберите более дешёвую модель или настройку |
code: 40202 | Превышен лимит расходов ключа | Поднимите лимит для этого ключа в API-консоли |
code: 429 | Слишком много запросов | Увеличьте паузу или запускайте меньше элементов параллельно; см. Лимиты запросов |
| Цикл не заканчивается | Задача ещё выполняется или Finished? читает не то поле | Видео может идти минутами; убедитесь, что Check task берёт taskId из Create task |
fileUrl работает, а потом возвращает 403 | Подписанные ссылки действуют около 20 минут | Скачайте файл в том же запуске или заново прочитайте задачу, чтобы получить новую ссылку |
state: failed | Модель не смогла завершить работу или отклонила содержимое | Ничего не списано; прочитайте errorCode и см. Ошибки |
Есть ли официальный community-узел PopNow для n8n?
Да: n8n-nodes-popnow опубликован на npm, исходный код открыт на GitHub. В self-hosted n8n откройте Settings > Community Nodes > Install, введите n8n-nodes-popnow и подтвердите. Из терминала можно выполнить npm install n8n-nodes-popnow в ~/.n8n/nodes и перезапустить n8n. Узел пока не прошёл верификацию, поэтому установить его в n8n Cloud нельзя. Он и не нужен: встроенный узел HTTP Request покрывает всё, что умеет API, работает в n8n Cloud, а воркфлоу с этой страницы импортируется одной вставкой.
Может ли n8n запускать несколько генераций одновременно?
Да. Каждый элемент, дошедший до Create task, становится отдельной задачей, и они выполняются параллельно. Следите за лимитами запросов и ставьте лимит расходов на ключ.
Как сохранить готовый файл в Google Drive или S3?
Добавьте после File URL узел HTTP Request, который скачивает fileUrl как файл (формат ответа File), и передайте его в узел Google Drive, S3 или любого другого хранилища.
Связанное
Рецепты
Пакетная генерация изображений из CSV, фото в видео, озвучка и уведомления на Python и Node.
Вебхуки
Подписанные обратные вызовы, повторы и обработка дубликатов.
ComfyUI
Пользовательский узел, который запускает модели PopNow в вашем графе.
Соберите воркфлоу для любой модели
Страница n8n на popnow.ai генерирует этот JSON для выбранной вами модели.
Рецепты и навыки
Запускайте сохранённые рецепты и воркфлоу через API или MCP. Запрашивайте котировку и подтверждайте бюджет в USD, следите за каждым шагом и возобновляйте приостановленные запуски с исходным API-ключом.
ComfyUI
Запускайте облачные AI-модели изображений, видео и аудио внутри ComfyUI с официальным пакетом узлов PopNow из ComfyUI Manager или одним файлом пользовательского узла. Без GPU и загрузки моделей; шаги установки, входы, цены и решения ошибок.

