Credits and billing

What bills, what never bills, and the receipts your integration can rely on.

The API spends the same credits as the Cliphi app. No seats, no separate API plan.

What bills

ActionBilling
Submit a jobProcessing bills per video minute. Credits are reserved at admission and charged when the job completes, exactly once.
Render a clipBilled per second of finished clip. The render response states estimated_credits before the clip exists.

What never bills

  • Moment previews (preview_page_url): free, unlimited.
  • Polling job status.
  • The keyless /api/v1/demo.
  • A render request answered with status: "already_rendered": the existing clip comes back free.

Duplicate protection

already_running: true on submit means this video already has a job in flight and nothing new was charged. Resubmitting a video whose job already FINISHED starts and bills a new job; confirm with your user first. force_new: true overrides in-flight dedup and always charges; require explicit user approval.

Receipts and failure honesty

  • Every HTTP error body carries billed; it is false on all request errors.
  • A rendered clip carries billed_credits: the receipt.
  • A render that fails mid-pipeline makes no billing claim: billing runs mid-pipeline, so a post-billing failure is possible. Never tell a user "nothing was charged" on a failed render; point them at studio_url or support.

Last updated on