GET https://api.percify.io/v3/playground/v1/generations/{id} returns the current state of a generation you started with POST /v1/run. When status is succeeded, the files are in output.urls. Add ?wait=45 and Percify holds the request open until the run finishes or 45 seconds pass, so you need fewer calls.
Parameters
string
required
The generation id (a UUID) from
POST /v1/run. You can only read generations from your own account.integer
Seconds to wait on the server for the run to finish, from 5 to 55. Values outside that range are clamped. Leave it out to get the current state immediately.
Response
string
The generation id.
string
The model that ran.
object | null
Set when
status is succeeded: type is image, video or audio, and urls is an array of file URLs on cdn.percify.io.string | null
Why the run failed, when
status is failed.integer
Credits charged when the run started. On a failed run the same amount was refunded to your balance.
string
When the run started.
number | null
Length in seconds of the input audio or video that a duration-billed model was priced on, such as lip-sync.
null for other models.boolean
Only present with
wait: true when the wait ended before the run did. Call again.input and completedAt also appear in the object and are null on this endpoint.
Example: wait for the result
Succeeded
Still running after the wait
Errors
Tips
- Save the files you need.
output.urlspoint tocdn.percify.io, and your own storage is the copy you control. - Set your HTTP client timeout above the
waitvalue, for example 70 seconds forwait=45. - Every poll counts toward the 60 requests a minute per key.
wait=45keeps a single job to about one request a minute. - For long lip-sync videos, a webhook saves you from polling at all.
Related
Async jobs and polling
Statuses, time limits and refunds.
Start a generation
The call that returns the id.
Webhooks
Get the finished result pushed to you.
Errors and rate limits
Every status code.