PopNowДокументация API
ChatGPT, Claude и агенты
Основное содержимое

Ваши рецепты, воркфлоу и навыки

Запускайте сохранённые рецепты и воркфлоу через 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Консоль разработчика → Рецепты и навыки

Найдите, что можно запустить

List recipes and workflows
curl "https://api.popnow.ai/api/v1/recipes?kind=recipe" \
  -H "Authorization: Bearer $POPNOW_API_KEY"

Не указывайте kind, чтобы получить и рецепты, и воркфлоу. Сначала идут ваши элементы, затем те, которыми поделились с вашими командами (mine: false, с teamId). Каждый элемент описывает свои входные данные:

Response
{
  "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"
    }]
  }
}

Запросите элемент, чтобы получить текущую оценку с сохранёнными файлами:

Inspect one recipe
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.

Quote a recipe
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}'
Quote response
{
  "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 символов; используйте тот же ключ при повторной отправке того же запроса.

Confirm the quoted budget
# 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.

Check progress
curl https://api.popnow.ai/api/v1/recipes/runs/sfg_01jbq9a3d5f7g9h2k4m6n8p0qs \
  -H "Authorization: Bearer $POPNOW_API_KEY"
Completed run
{
  "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.

Возобновление приостановленного запуска

Отправьте {}, чтобы получить новую котировку:

Quote a resume
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-политика ключа изменилась, начните новый запуск из разрешённого источника вместо обхода приостановки.

Навыки

Read a skill
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 целочисленными кредитами.

На этой странице