Skip to main content
POST https://api.percify.io/v3/playground/v1/estimate returns the exact number of credits a generation will cost, without running it or charging you. It takes the same modelId and input as POST /v1/run and uses the same pricing, so the number matches what the run charges. Use it for any model whose price depends on its inputs: lip-sync billed per second of audio, voice cloning billed by the length of the voice sample, and image or video models where quality, resolution or duration change the price.

Body

string
required
A model id from GET /v1/models.
object
required
The inputs you plan to send to /v1/run. Required fields must be present and enum values must be valid. For duration-billed models, include the audio or video URL so Percify can measure it.

Response

string
The model that was priced.
integer
The credits /v1/run will charge for this input.
string
How the model is billed, in words: for example flat 2 credits per run, billed per second of audio, or a note that names the multipliers for a resolution or quality field.

Example

201 Response (flux-schnell)

How is a duration-billed model priced?

Percify downloads the start of the audio or video you pass and reads its length. If it cannot read the length, the estimate assumes 30 seconds, while /v1/run may refuse the same file (for example an MP4 without a readable duration). If the estimate looks like a 30-second price for a clip of a different length, check that the URL is public and the file is a standard .mp3, .wav or .mp4.

How is it different from a run?

A good estimate does not guarantee the run starts: the run can still stop on moderation, your balance or a key’s Monthly credit cap.

Errors

Start a generation

Run it once the price is right.

List models

Each model’s pricing type and inputs.

Check credits and usage

Balance, monthly spend and key caps.

Talking avatar video

Lip-sync pricing per second of audio.
Last modified on September 16, 2026