Skip to main content
You pay per result, in US dollars, from your workspace’s balance. There are no plans or seats. A run that fails, or that a model refuses, is never charged.

Read a price

Every model and preset has a pricing object:
So a 4-second clip from google/veo-3.1-fast with sound costs 4 × $0.165 = $0.66, and two images from black-forest-labs/flux-2-pro cost 2 × $0.033 = $0.066. A key in when, like a name in drivers, can be a dotted path into a group of settings. recraft/recraft-v3 costs $0.044 an image, and $0.088 with { "when": { "settings.style": "vector_illustration" } }. length_of and length_step appear only on prices by the length of your own file. This is openai/whisper-large-v3, which bills each started minute of the recording at $0.0022:

Get a quote

You don’t have to do that sum. POST /v1/quotes takes the same body as a generation and returns its price, with the input checked and its defaults filled in. It doesn’t run anything or hold any credit. A quote is optional. A script can start the generation straight away: if the balance doesn’t cover it, the request gets a 402 and nothing runs. Use a quote to show a price to a person in your app before they press go, or to check an input without spending.
A quote checks your input against the model’s schema, so an input that POST /v1/generations would answer with a 400 gets the same 400 here, for free. It can’t tell whether the model will accept your prompt: a refusal shows up later, as a failed generation that isn’t charged. A quote doesn’t reserve its price, and a run is priced again when it starts. A stable model’s price changes only after notice; a preview model’s can change at any time. For a model priced by the length of your own file, the final charge is known only when the run ends (see Holds and charges).

Holds and charges

When a run starts, its price is held from your balance. When it ends:
  • If it succeeded, you’re charged cost_usd, and the generation’s usage.cost_usd shows it.
  • If it failed, was refused or was canceled, the hold is released and nothing is charged.
hold_usd is usually the same as cost_usd. For a model priced by the length of your own file, it can be more: the price of your file’s length and a second more, or of the longest file the model takes when your file’s exact length isn’t known. Such a run is charged when it ends, at the quoted cost_usd, or more if the model counted a longer length than your file’s. If your available balance doesn’t cover a run’s hold, the request gets a 402 with the code insufficient_credit, and nothing starts.

Your balance

available_usd is what you can spend now: your balance minus the holds of runs still going. held_usd is what those runs hold. Add credits, and turn on auto top-up so a job never stops for an empty balance, at app.tryleap.ai/go/settings/credits.

Before your first top-up

Two limits apply to a workspace that hasn’t added credit yet. Both lift with its first top-up, unless that top-up is refunded. One run priced by the length of your own video or sound runs at a time. A second one at once gets a 429 with Retry-After: 60. Speech-to-text and captions models, such as openai/whisper-large-v3, transcribe up to 120 minutes per UTC day. Each run counts its started minutes, and a run that fails or is canceled gives them back.
Last modified on October 4, 2026