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. New credits expire 12 calendar months after they are granted. Existing credits keep their original no-expiry terms. The credit history shows each grant’s expiration date in UTC. 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. Credits with the earliest expiration are reserved first, before existing credits without expiry. Buying more credits does not extend earlier grants. Expired credits cannot fund new jobs. A job may finish using credits reserved before expiration; released credits return to the available balance only if they have not expired.

How rendering uses credits

1

Submit a video

Creating a job requires a positive available balance. No credits are reserved until the video duration is known. Videos can be up to 600 seconds long.
2

Reserve after inspection

Before transcription starts, the API atomically reserves ceil(actual duration) from your available balance. If there are not enough seconds, the job fails with INSUFFICIENT_CREDITS without a charge. Concurrent jobs share the same balance and cannot reserve the same credits.
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: If the job fails before the credits expire, all 24 reserved seconds return to the available balance. Submitting the same input again creates another job, which is billed separately if it succeeds.

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 no prepaid seconds are available. An accepted job can also fail with INSUFFICIENT_CREDITS after inspection if the available balance cannot cover the video’s rounded-up duration. Add credits in Settings → Billing and submit a new job.