Skip to main content

How credits work

CaptionCraft accounts hold prepaid video seconds. A successful job is billed for its actual video duration, rounded up to the next whole second.

Buy credits

Organization admins can open Settings → Billing in the API console and buy a custom amount of credits through Stripe Managed Payments. Credits are priced in USD, with a **20minimumanda20 minimum** and a 10,000 limit per checkout. Rendering costs $0.06 per minute, equivalent to 10 video seconds per cent. A $20 purchase adds 20,000 video seconds (333 minutes and 20 seconds). Applicable tax is added at checkout and does not add credits. Stripe may offer payment in your local currency; the credit quantity stays the same. Credits do not expire. This is a one-time purchase, with no subscription or automatic recharge. Credits belong to the account selected when checkout starts. Your balance updates after Stripe confirms payment, even if you close the checkout tab. Delayed payment methods remain pending until payment succeeds. Purchase history shows payment status and a Stripe receipt when available. Test payments are labeled in the console.

How rendering uses credits

1

Reserve on submission

Creating a job reserves max_duration_seconds from your available balance. The default is 60 seconds and the maximum is 600.
2

Release the excess after inspection

When the video duration is known, the reservation is reduced to ceil(actual duration). The remaining seconds return to the available balance.
3

Settle when the job finishes

On success, the remaining reservation becomes consumed credit. Failure or cancellation releases the reservation without billing.

Example

For a 23.4-second video submitted with max_duration_seconds: 60: If the job fails instead, all 24 reserved seconds return to the available balance. Replaying the same idempotent submission does not create a second charge.

Read your balance

Get usage returns:
  • available_seconds: seconds available for new reservations.
  • reserved_seconds: seconds held by active jobs.
  • consumed_seconds: seconds billed for completed jobs.
  • active_jobs: the account’s queued and processing jobs.
  • concurrency_limit: the maximum number of active jobs allowed for the account.
A submission returns 402 INSUFFICIENT_CREDITS if the available balance cannot cover the full requested reservation. Choose a lower duration limit only when it still covers your video, or buy more credits in Settings → Billing.