Ваши рецепты, воркфлоу и навыки
Запускайте сохранённые рецепты и воркфлоу через API или MCP. Запрашивайте котировку и подтверждайте бюджет в USD, следите за каждым шагом и возобновляйте приостановленные запуски с исходным API-ключом.
Используйте то, что вы сохранили на popnow.ai: рецепт из Studio с его моделью, промптом, настройками и файлами; воркфлоу с холста, шаги которого используют предыдущие результаты; или навык Poppie с инструкциями для другого ассистента.
Элементы доступны только вам и командам, с которыми вы ими поделились. Промпт рецепта коллеги не возвращается: сервер собирает его при запуске. Запуски через REST и MCP с API-ключом используют ваш отдельный баланс API в USD. Запуски через OAuth MCP используют кредиты сайта. Переводить средства между балансами или использовать один вместо другого нельзя. Начальный баланс API — $0; пополните его в разделе Оплата API.
Коротко
| Список | GET /api/v1/recipes для рецептов и воркфлоу; GET /api/v1/skills для навыков |
| Просмотр | GET /api/v1/recipes/{id} возвращает входные данные и, если доступна, оценку estimated_usd |
| Котировка и запуск | POST /api/v1/recipes/{id}/run: сначала запросите котировку, затем подтвердите currency, max_usd и quote_id |
| Отслеживание | GET /api/v1/recipes/runs/{runId} с ключом, которым был начат запуск |
| Возобновление | POST /api/v1/recipes/runs/{runId}/resume: запросите котировку для приостановленного запуска, затем подтвердите его общий бюджет |
| В чате | list_my_recipes, run_my_recipe, get_recipe_run, resume_recipe_run, list_my_skills, use_my_skill через MCP |
| Где найти ID | Консоль разработчика → Рецепты и навыки |
Найдите, что можно запустить
curl "https://api.popnow.ai/api/v1/recipes?kind=recipe" \
-H "Authorization: Bearer $POPNOW_API_KEY"Не указывайте kind, чтобы получить и рецепты, и воркфлоу. Сначала идут ваши элементы, затем те, которыми поделились с вашими командами (mine: false, с teamId). Каждый элемент описывает свои входные данные:
{
"code": 200,
"msg": "success",
"data": {
"items": [{
"id": "svd_01jbq8x4m2c7d9f3h5k6n8p0rt",
"kind": "recipe",
"name": "Weekly post",
"mine": true,
"media": "image",
"currency": "USD",
"inputs": [
{ "id": "image_urls", "label": "Product", "media": "image", "multiple": false, "required": false },
{ "id": "prompt", "label": "Prompt", "media": "text", "multiple": false, "required": false }
],
"steps": 1,
"updatedAt": "2026-10-23T09:12:00Z"
}]
}
}Запросите элемент, чтобы получить текущую оценку с сохранёнными файлами:
curl https://api.popnow.ai/api/v1/recipes/svd_01jbq8x4m2c7d9f3h5k6n8p0rt \
-H "Authorization: Bearer $POPNOW_API_KEY"Метаданные API используют currency: "USD" и необязательное поле estimated_usd, без estimatedCredits. Эта оценка не является разрешением на запуск: отправьте фактические входные данные в POST /run, чтобы получить quote_id.
Запуск
Сначала отправьте нужные входные данные и количество без полей подтверждения. Котировка не создаёт запуск и не блокирует средства; для неё не нужен Idempotency-Key.
curl https://api.popnow.ai/api/v1/recipes/svd_01jbq8x4m2c7d9f3h5k6n8p0rt/run \
-H "Authorization: Bearer $POPNOW_API_KEY" \
-H "Content-Type: application/json" \
-d '{"inputs":{},"count":1}'{
"code": 200,
"msg": "success",
"data": {
"currency": "USD",
"cost_usd": "0.048",
"available_usd": "5",
"spent_usd": "0",
"quote_id": "quote_from_server",
"needs_confirmation": true
}
}Проверив и подтвердив сумму, повторите те же входные данные и количество с currency: "USD", десятичной строкой max_usd и полученным quote_id. Для запуска нужен Idempotency-Key длиной 1–100 символов; используйте тот же ключ при повторной отправке того же запроса.
# Set QUOTE_ID to the quote_id returned above, after reviewing the quote.
curl https://api.popnow.ai/api/v1/recipes/svd_01jbq8x4m2c7d9f3h5k6n8p0rt/run \
-H "Authorization: Bearer $POPNOW_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d "{\"inputs\":{},\"count\":1,\"currency\":\"USD\",\"max_usd\":\"0.048\",\"quote_id\":\"$QUOTE_ID\"}"При успешном запуске возвращаются needs_confirmation: false, run_id, state и подтверждённый max_usd. Если цена превышает лимит или котировка больше не соответствует запросу, ответ содержит needs_confirmation: true и новую котировку; ничего не запускается. Покажите новую сумму и запросите подтверждение снова. Сам по себе HTTP 200 не означает, что работа началась.
max_usd — неотрицательное десятичное число в виде строки, с точностью до девяти знаков после точки. Числа JSON, отрицательные значения, экспоненциальная запись, неизвестные поля и старые подтверждения maxCredits / max_credits отклоняются, а не преобразуются. Передавать max_usd без quote_id нельзя. Даже нулевая котировка требует явного подтверждения.
Что такое входные данные
| ID входов | Принимает | |
|---|---|---|
| Рецепт | Сохранённые поля файлов модели, например image_urls, first_frame_url или refs; prompt заменяет сохранённый промпт | Ссылку на файл, список ссылок или обычный текст |
| Воркфлоу | in1, in2 … в указанном порядке; текстовые входы заполняют шаг без собственного промпта | То же самое |
Файл можно передать ссылкой https, ссылкой popnow://g/<job>/<n> на предыдущий результат, popnow://f/<file> на загрузку или popnow://a/<asset> на ресурс API. Неуказанные входы используют сохранённые файлы. count — от 1 до 4 для рецептов; воркфлоу выполняются один раз. Неверные входные данные возвращают 400 с param: inputs.<id>.
Для расчёта цены шага воркфлоу может потребоваться результат предыдущего шага. Тогда котировка содержит unpriced_steps: cost_usd охватывает только шаги с уже рассчитанной ценой, а не весь воркфлоу. Шаги без рассчитанной цены не могут выполняться. Когда их входные данные готовы, запуск приостанавливается до получения и подтверждения новой котировки для возобновления. Отсутствие цены не означает бесплатное выполнение.
Отслеживание запуска
Используйте тот же API-ключ, которым был начат запуск. Другой ключ того же аккаунта не может читать или возобновлять этот запуск. Запросы статуса с API-ключом не переводят запуск OAuth, оплаченный кредитами, в USD.
curl https://api.popnow.ai/api/v1/recipes/runs/sfg_01jbq9a3d5f7g9h2k4m6n8p0qs \
-H "Authorization: Bearer $POPNOW_API_KEY"{
"code": 200,
"msg": "success",
"data": {
"currency": "USD",
"run_id": "sfg_01jbq9a3d5f7g9h2k4m6n8p0qs",
"state": "done",
"cost_usd": "0.048",
"available_usd": "4.952",
"spent_usd": "0.048",
"max_usd": "0.048",
"needs_confirmation": false,
"items": [
{ "stepId": "r1", "state": "succeeded", "jobId": "job_01jbq9a6v8w0x2y4z6a8b0c2d4", "uri": "popnow://g/job_01jbq9a6v8w0x2y4z6a8b0c2d4/0" }
]
}
}state принимает значения draft, running, paused, done, stopped или failed. Опрашивайте статус, пока он равен draft или running. При paused проверьте pause_reason и запросите котировку для возобновления после устранения причины. items сохраняет stepId, state, jobId и uri; recordInfo возвращает ссылки на скачивание для каждой задачи.
spent_usd — фактическая сумма списаний с кошелька API с учётом возвратов. cost_usd — оценка, а не итоговое списание. Ответы в USD не содержат целочисленных кредитов. Исторические запуски за кредиты сайта сохраняют исходную валюту и остаются в поддерживаемом сценарии сайта или OAuth.
Возобновление приостановленного запуска
Отправьте {}, чтобы получить новую котировку:
curl https://api.popnow.ai/api/v1/recipes/runs/sfg_01jbq9a3d5f7g9h2k4m6n8p0qs/resume \
-H "Authorization: Bearer $POPNOW_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'После проверки повторите запрос с currency: "USD", max_usd и новым quote_id. Это общий бюджет всего запуска, включая уже потраченные средства и обязательства по выполняющимся задачам, а не дополнительная сумма. Исходные входные данные и количество менять нельзя.
Для возобновления не нужен Idempotency-Key. Параллельные запросы не могут возобновить работу дважды; для уже возобновлённого запуска возвращается конфликт. Исходный ключ, платёжный счёт и контекст источника запроса остаются привязанными к запуску. Если IP-политика ключа изменилась, начните новый запуск из разрешённого источника вместо обхода приостановки.
Навыки
curl https://api.popnow.ai/api/v1/skills/skl_01jbpz7c9e1g3j5m7q9s1v3x5z \
-H "Authorization: Bearer $POPNOW_API_KEY"GET /api/v1/skills перечисляет ваши навыки и те, которыми поделились с вашими командами. GET /api/v1/skills/{id} добавляет их body в Markdown. У командного навыка с доступом use only (shareMode: "use") нет body: он работает в PopNow, но его инструкции остаются скрытыми.
В ChatGPT и Claude
Подключите MCP-сервер и попросите «запусти мой рецепт Weekly post с этим фото». Ассистент использует подключённый платёжный счёт, не выбирая между кошельками.
| Инструмент | Что делает | Параметры |
|---|---|---|
list_my_recipes | Перечисляет рецепты и воркфлоу, включая общие элементы | нет |
run_my_recipe | Сначала рассчитывает цену, затем запускает в валюте подключения | recipe_id, inputs, count; API-ключ: currency, max_usd, quote_id, idempotency_key; OAuth: max_credits |
get_recipe_run | Читает состояние, затраты и результаты | run_id |
resume_recipe_run | Рассчитывает цену и возобновляет приостановленный запуск в USD с API-ключом | run_id, затем currency, max_usd, quote_id |
list_my_skills | Перечисляет ваши навыки и навыки ваших команд | нет |
use_my_skill | Возвращает доступные для чтения инструкции навыка | skill_id |
MCP с API-ключом следует описанным выше правилам котировки в USD, подтверждения, общего бюджета и использования того же ключа. Для подтверждения run_my_recipe также нужна строка idempotency_key длиной 1–100 символов; для котировки она не требуется. Если ответ потерян, повторите запрос с тем же ключом и всеми теми же параметрами, чтобы получить уже принятый запуск, даже если рецепт или цена с тех пор изменились. Новый ключ используйте только для отдельно подтверждённого запуска. Изменение параметров при том же ключе возвращает конфликт. OAuth сохраняет подтверждения max_credits в кредитах сайта и отклоняет поля USD. Инструмент возобновления предназначен для запусков в USD с API-ключом и не требует нового ключа идемпотентности; он использует состояние исходного запуска, чтобы избежать повторного выполнения работы.
Лимиты и ошибки
Каждый шаг в USD заново проверяет состояние ключа, срок его действия, права на модели, лимиты расходов и баланс API. Бюджет включает потраченные средства, блокировки по выполняющимся задачам и зарезервированную работу; технические повторы тоже учитываются. Даже изменение цены на $0.000000001 приостанавливает выполнение для подтверждения. Общий бюджет ограничен $10,000, на один шаг — $1,000.
| Статус или результат | Когда |
|---|---|
needs_confirmation: true | Первая котировка, изменение цены или несоответствие котировки; проверьте и подтвердите |
400 | Неверные входные данные или подтверждение USD, старый лимит в кредитах либо бюджет выше допустимого |
402 | Недостаточно средств API или будет превышен действующий лимит расходов |
403 | Ключ или его права не разрешают эту работу |
404 | Сохранённый элемент или запуск недоступен вызывающему |
409 | Запуск нельзя возобновить в текущем состоянии, входные данные воркфлоу не готовы либо сохранённая модель снята с работы |
Могут ли другие люди видеть или запускать мои рецепты?
Доступ к сохранённым элементам есть только у вас и команд, с которыми вы ими делитесь. Публичного каталога нет, и получить доступ, угадав ID, нельзя. Промпт общего рецепта никогда не возвращается коллеге.
Кто платит, когда я запускаю рецепт, которым поделилась моя команда?
Вы. Запуски с API-ключом используют ваш кошелёк API в USD; OAuth использует кредиты сайта. Сначала проверьте котировку и подтвердите бюджет.
Нужно ли загружать файлы заново для каждого запуска?
Нет. Используйте ссылку https или ссылку popnow:// на результат, загрузку или ресурс API. Неуказанные входы используют сохранённые файлы.
Что будет, если модель, которую использовал рецепт, снята с работы?
Запуск не может начаться. Откройте рецепт на popnow.ai, выберите доступную модель и сохраните его заново, затем запросите новую котировку.
Есть ли SDK для рецептов?
Используйте эти примеры JSON по HTTPS или HTTP-клиент, сохраняя USD в виде строк. Не используйте старые примеры SDK, которые подтверждают запуск рецептов через API целочисленными кредитами.
Связанное
PopNow в ChatGPT и Claude
Подключите MCP-сервер и запускайте сохранённые рецепты из чата.
Задачи
Состояния задач, результаты и ссылки на скачивание для каждого шага.
Идемпотентность
Повторите подтверждённый запрос, не создавая ещё один запуск.
Ассеты
Загрузите файлы один раз и используйте ссылки на них повторно.
Агентские навыки
Найдите готовый стиль для ролика запуска, презентации, сайта или редакционного изображения и передайте его своему агенту для программирования. Выберите в чате через MCP или установите в Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot или OpenCode промптом, ZIP или curl.
n8n
Генерируйте AI-изображения, видео и аудио в n8n со встроенным узлом HTTP Request и API PopNow. JSON воркфлоу для импорта, настройка учётных данных, цикл опроса, вебхуки и решения частых ошибок.

