Crédits et facturation
Comment les appels à l’API consomment des crédits, le fonctionnement des réservations et du débit final, les devis, le solde, l’usage et les plafonds de dépense.
L’API utilise les mêmes crédits que popnow.ai. Pas d’offre API séparée, pas d’abonnement, pas de minimum : achetez un pack de crédits quand il vous en faut plus, et les crédits offerts à l’inscription fonctionnent ici aussi.
- 1 crédit = 0,01 $ au tarif de base. Les packs plus importants incluent des crédits bonus : chaque crédit vous revient un peu moins cher.
- Les prix dépendent du modèle et des options : par image, par seconde de vidéo ou d’audio, par requête, ou par tranche de 1 000 caractères de synthèse vocale. La page de chaque modèle les liste.
- Les réponses donnent chaque montant deux fois : en crédits entiers (
credits,maxCredits,availableCredits…) et sous forme de chaîne en dollars US (cost,maxCharge,available…). Utilisez les champs en crédits ; les chaînes en dollars servent à la comptabilité.
Comment une tâche est facturée
holdsettlerelease- Réservation. Quand
createTaskaccepte une tâche, le prix le plus élevé qu’elle puisse atteindre est mis de côté sur votre solde (estimatedCredits). Les crédits réservés ne peuvent pas être dépensés deux fois, mais ne sont pas encore débités. - Débit ou libération. Quand la tâche se termine :
succeeded→ vous payez ce qu’elle a réellement consommé, arrondi au crédit supérieur et jamais plus que la réservation. Le reste revient sur votre solde.failedouexpired→ toute la réservation est libérée. Vous ne payez rien.
L’enregistrement de la tâche indique où elle en est : tant que settled vaut false, credits est la réservation ; une fois settled à true, credits est le montant final.
Quelques modèles facturent une requête que leur éditeur a refusée pour des raisons de contenu. Dans ce cas, la page du modèle le précise ; partout ailleurs, l’échec est gratuit.
| Situation | Facturé ? |
|---|---|
createTask refusé (400, 402, 403, 429, 50301…) | Non — pas de tâche, pas de réservation |
Tâche succeeded | Oui, le montant réel, plafonné par la réservation |
Tâche failed ou expired | Non, sauf le cas de refus de contenu ci-dessus |
| Votre connexion a coupé après l’envoi | Inconnu tant que vous n’avez pas vérifié — renvoyez avec le même Idempotency-Key pour retrouver la tâche |
| Lire des tâches, des modèles, le solde ou l’usage | Jamais |
Demander le prix d’abord
POST /api/v1/jobs/quote prend exactement le corps que vous enverriez à createTask et renvoie le prix sans rien créer ni réserver :
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 est le maximum que la requête peut coûter — le montant qui sera réservé. expectedCredits est ce qu’elle coûte habituellement ; les deux ne diffèrent que si le montant final dépend du résultat, comme la durée réelle d’un clip.
Pour que le prix ne change pas entre le moment où vous l’affichez et l’exécution, passez quoteId et expectedCredits (le maxCredits affiché) à createTask dans les cinq minutes. Si quelque chose a changé, createTask répond 40901 et ne réserve rien ; refaites un devis.
Solde
curl "https://api.popnow.ai/api/v1/chat/credit" \
-H "Authorization: Bearer $POPNOW_API_KEY"availableCredits est ce que les nouvelles tâches peuvent utiliser, heldCredits ce qui est mis de côté pour les tâches en cours, et totalCredits la somme des deux (available, held et total donnent les mêmes montants en dollars US). Le nom du chemin est historique et n’a rien à voir avec le chat. Quand le solde disponible ne couvre pas la réservation d’une nouvelle tâche, createTask renvoie 40201.
Usage
GET /api/v1/usage?from=2026-10-01&to=2026-10-16 renvoie, pour la clé qui l’appelle, le nombre de tâches, combien ont réussi ou échoué et ce qu’elles ont coûté en crédits — au total (totalCredits), par jour et par modèle. Les dates sont en UTC, to est exclu et la période ne dépasse pas 92 jours. Seuls les montants débités comptent, si bien que le total d’une journée peut encore bouger pendant que des tâches tardives se terminent. Ce rapport est limité à 30 requêtes par minute ; pour tout le compte, utilisez la page d’usage de la console API.
Plafonds de dépense
Chaque clé peut avoir un plafond quotidien, mensuel et total, réglé dans la console API et affiché en crédits. Une requête qui dépasserait un plafond renvoie 40202 et ne réserve rien. Les plafonds quotidiens repartent à zéro à 00:00 UTC, les mensuels le 1er du mois à 00:00 UTC, et un plafond total jamais. Sans réglage, les clés n’ont aucun plafond.
Acheter des crédits et remboursements
Les crédits s’achètent sur le site, pas via l’API. Les packs et leurs prix sont sur la page des tarifs ; la politique de remboursement précise ce qui peut être remboursé et quand.

