Run a model

Run Topaz Gigapixel (topaz-image-upscaler)

Changed on

Use the powerful and accurate Topaz image enhancer to upscale and enhance your images.

Submits an asynchronous job and returns 202 with a job id. Fetch the result at GET /v3/jobs/{job_id} — each item in its outputs[] follows the OutputItem schema — or track progress via GET /v3/jobs/{job_id}/status / the SSE stream at GET /v3/jobs/{job_id}/stream.

post/models/topaz-image-upscaler

Request

  • Base URL
    https://api.hedra.com/v3
  • Auth
    • API key in header Authorization
    • or HTTP bearer

Headers

Idempotency-Keystring

Caller-chosen key that makes retrying this submit safe. A repeat submit with the same key returns the original job's ack (with Idempotent-Replayed: true) instead of queueing and charging a second job. Keys are scoped to the calling user and workspace. Failed jobs release their keys; retrying after failure or deletion of the original job can create and charge a new job. The request is fingerprinted by model and input: reusing a key with a different request is a 409 ALREADY_EXISTS, and retrying while the original is still being accepted is a 409 ALREADY_IN_PROGRESS carrying Retry-After.

Request body

webhookstring uri nullable

URL to receive a signed completion webhook.

Response

Accepted. The job runs asynchronously; poll status_url / result_url from the ack.

job_idstring required

This job's id — server-issued, and opaque.

modelstring required

The resolved model id this job runs on.

status'IN_QUEUE' | 'IN_PROGRESS' | 'COMPLETED' | 'FAILED' required

The four states a job can be in.

status_urlstring required

Path of this job's status monitor: poll GET /v3/jobs/{job_id}/status for status, progress, and the estimated completion time.

result_urlstring required

Path of the job resource itself: GET /v3/jobs/{job_id} returns the result envelope, including the outputs once it completes. Also the value of this response's Location header.

estimated_completion_atstring date-time nullable

ISO-8601 instant this job is estimated to finish, as of this response. Null when no estimate is available yet, and when the job has already finished. The estimate can change while the job runs: poll GET /v3/jobs/{job_id}/status for the current one.

Changes