积分与计费
API 调用怎么扣积分、冻结与最终扣费如何运作、调用前先报价,以及余额、用量和消费上限。
API 花的是和 popnow.ai 网站同一份积分。没有单独的 API 套餐,没有订阅,也没有最低消费:需要时买一个积分包就行,注册时送的免费积分在这里同样能用。
- 1 积分 = $0.01(基准价)。大额积分包会多送积分,相当于每个积分更便宜一点。
- 价格按模型和选项计算:按张、按视频或音频的秒数、按次,或按语音的每千字符。每个模型的页面都列出了价格。
- 响应里的每笔金额都给两份:整数积分(
credits、maxCredits、availableCredits…)和美元字符串(cost、maxCharge、available…)。请以积分字段为准;美元字符串供对账使用。
一个任务怎么扣费
holdsettlerelease- 冻结。
createTask受理任务时,先从余额里冻结这个任务可能达到的最高价格(estimatedCredits)。冻结的积分不会被重复使用,但这时还没有扣掉。 - 结算或释放。 任务结束时:
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,不冻结任何积分。按日上限在 UTC 00:00 重置,按月上限在每月 1 日 UTC 00:00 重置,累计上限永不重置。不设置的话,密钥没有上限。

