PopNowДокументация API
Аккаунт
Основное содержимое

Кредиты и оплата

Как вызовы API расходуют кредиты, как работают резерв и окончательное списание, расчёт цены до запуска, баланс, статистика и лимиты расходов.

API тратит те же кредиты, что и popnow.ai. Отдельного тарифа для API, подписки и минимального платежа нет: покупайте пакет кредитов, когда понадобится больше, а бесплатные кредиты за регистрацию работают и здесь.

  • 1 кредит = 0,01 $ по базовой ставке. В больших пакетах есть бонусные кредиты, поэтому каждый кредит обходится чуть дешевле.
  • Цена зависит от модели и опций: за изображение, за секунду видео или аудио, за запрос или за 1000 символов озвучки. Цены указаны на странице каждой модели.
  • Каждую сумму ответ даёт дважды: в целых кредитах (credits, maxCredits, availableCredits …) и строкой в долларах США (cost, maxCharge, available …). Пользуйтесь полями в кредитах; строки в долларах — для бухгалтерии.

Как списывается оплата за задачу

hold
settlerelease
Кредиты резервируются при приёме задачи и закрываются один раз: списываются по фактическому расходу либо возвращаются целиком.
  1. Резерв. Когда createTask принимает задачу, на балансе откладывается самая высокая цена, которой она может достичь (estimatedCredits). Зарезервированные кредиты нельзя потратить дважды, но они ещё не списаны.
  2. Списание или возврат. Когда задача завершается:
    • succeeded → вы платите за фактический расход, с округлением вверх до целых кредитов и никогда не больше резерва. Остаток возвращается на баланс.
    • failed или expired → весь резерв возвращается. Вы ничего не платите.

Где сейчас задача, видно по её записи: пока settled равен false, credits — это резерв; когда settled становится true, credits — окончательное списание.

Несколько моделей берут плату за запрос, который их разработчик отклонил из-за содержания. Если это так, на странице модели об этом сказано; во всех остальных случаях сбой бесплатен.

СитуацияПлатно?
createTask отклонён (400, 402, 403, 429, 50301 …)Нет — ни задачи, ни резерва
Задача succeededДа, фактическая сумма, не больше резерва
Задача failed или expiredНет, кроме случая с отказом по содержанию выше
Соединение оборвалось после отправкиНеизвестно, пока не проверите: отправьте снова с тем же Idempotency-Key, чтобы найти задачу
Чтение задач, моделей, баланса или статистикиНикогда

Сначала узнайте цену

POST /api/v1/jobs/quote принимает ровно то же тело, что и createTask, и возвращает цену, ничего не создавая и не резервируя:

curl -X POST "https://api.popnow.ai/api/v1/jobs/quote" \
  -H "Authorization: Bearer $POPNOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "alibaba/wan-3.0/image-to-video", "input": {"image_url": "https://media.popnow.ai/movie/lighthouse.webp", "resolution": "720p", "duration_seconds": 5}}'
{
  "code": 200,
  "msg": "success",
  "data": {
    "quoteId": "q_…",
    "model": "alibaba/wan-3.0/image-to-video",
    "maxCredits": 68,
    "expectedCredits": 68,
    "estimatedCost": "0.68",
    "maxCharge": "0.68",
    "currency": "USD",
    "quantity": "5",
    "unit": "per_second",
    "expiresAt": "2026-10-16T09:25:00Z"
  },
  "request_id": "req_…"
}

maxCredits — максимум, который может стоить запрос, то есть сумма резерва. expectedCredits — обычная стоимость; они различаются, только если итог зависит от результата, например от реальной длины ролика.

Чтобы цена не изменилась между показом пользователю и запуском, передайте quoteId и expectedCredits (показанный maxCredits) в createTask в течение пяти минут. Если что-то изменилось, createTask ответит 40901 и ничего не зарезервирует; запросите расчёт заново.

Баланс

curl "https://api.popnow.ai/api/v1/chat/credit" \
  -H "Authorization: Bearer $POPNOW_API_KEY"

availableCredits — сколько могут потратить новые задачи, heldCredits — сколько отложено под выполняющиеся, totalCredits — их сумма (available, held и total — те же суммы в долларах). Название пути историческое и к чату отношения не имеет. Если доступного баланса не хватает на резерв новой задачи, createTask возвращает 40201.

Статистика

GET /api/v1/usage?from=2026-10-01&to=2026-10-16 возвращает по вызывающему ключу число задач, сколько из них прошло и сколько упало и сколько они стоили в кредитах — всего (totalCredits), по дням и по моделям. Даты в UTC, to не включается, период — не больше 92 дней. Учитываются только закрытые списания, поэтому итог за день может ещё измениться, пока завершаются запоздавшие задачи. Отчёт ограничен 30 запросами в минуту; для всего аккаунта используйте страницу статистики в API-консоли.

Лимиты расходов

Для каждого ключа в API-консоли можно задать дневной, месячный и общий лимит, они показываются в кредитах. Запрос, который превысил бы лимит, возвращает 40202 и ничего не резервирует. Дневные лимиты сбрасываются в 00:00 UTC, месячные — 1-го числа в 00:00 UTC, общий не сбрасывается никогда. Пока вы их не задали, лимитов у ключей нет.

Покупка кредитов и возвраты

Кредиты покупаются на сайте, а не через API. Пакеты и цены — на странице цен; что и когда можно вернуть, объясняет политика возвратов.

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