DocsPricing & Funds

Pricing & Funds

Usage-based pricing, how balance holds settle, and how to add and track funds.

Veralens is prepaid and usage-based. You add funds to a balance, and each job draws from it based on the tokens it uses and the engine you pick. There are no seats or monthly minimums — you pay for what you extract.

Engines and rates

Prices are per 1,000,000 tokens. Input tokens cover your sources, prompt, and schema; output tokens cover the extracted result.

EngineInput / 1MOutput / 1MBest for
vera-1.0-high$1.25$4.50Highest accuracy — complex layouts, dense scans, strict schemas. The default.
vera-1.0-low$0.75$3.75Lower cost — simpler documents and high-volume batch runs.

Select the engine per job with the engine field on [POST /jobs/create](/docs/api-reference). If you omit it, jobs use vera-1.0-high.

How a charge works

  1. Hold on create. When you create a job, Veralens estimates the cost from your input and places a hold on your balance. If the balance can't cover the hold, the request fails with insufficient_balance.
  2. Settle on completion. When the job finishes, the hold settles to the actual token cost. The job's usage.cost is the amount you were charged.
  3. Refund on failure. If a job fails, its hold is refunded in full — you are never charged for a failed extraction.

Because the hold is an estimate and settlement uses real usage, a completed job's final cost can be slightly lower than the amount initially held.

Adding funds

Open Billing in the dashboard to add funds via Stripe checkout. Balance is credited as soon as the payment completes. You can top up at any time; jobs draw from the balance until it runs out.

Tracking spend

  • Every job carries its own usage: cost (USD), inputTokens, and outputTokens.
  • Usage and Billing in the dashboard summarize spend and remaining balance over time.
  • Use [GET /jobs/list](/docs/api-reference) to pull per-job cost for your own reporting.

Controlling cost

  • Use vera-1.0-low for high-volume or simpler documents.
  • Keep sources tight — send only the pages or text you need to extract from.
  • Request only the fields you need; a smaller schema means fewer output tokens.