Skip to main content
GET
Retrieve an upscale job's status and result
Retrieve the status of an upscale job. While it is pending or processing, keep polling; once completed, the response carries a single image result object with a presigned url valid for 24 hours. Only jobs your organization created are visible; any other id returns 404 not_found. Requires the images.transform scope.

Example: completed job

Upscale returns one image — a derived-format result object (not the images array used by generation), carrying its own stable id, the source_image_id it derives from, the model that produced it, and a resolution_class:
200 OK
Pass a webhook_url on the original upscale request to receive a signed callback instead of polling. See Webhooks.

Authorizations

Authorization
string
header
required

Organization API key as a bearer token: Authorization: Bearer samsa_sk_....

Path Parameters

upscale_id
string<uuid>
required

Response

Successful Response

GET /images/upscales/{id} body (SAM-819 / S8.7 — ADR §7.2).

The standard async-job envelope plus ONE nullable image result object (an image_formats derivative, built by the S8.2 egress builder). created_at is the job's submit time from the credit ledger (the image_generation_tasks table has no created_at column).

id
string<uuid>
required
status
enum<string>
required

pending, processing, completed, failed, or cancelled.

Available options:
pending,
processing,
completed,
failed,
cancelled
Example:

"completed"

created_at
string<date-time>
required

When the job was submitted.

credits_used
integer | null

Net credits charged for this job, after any refunds.

Example:

10

image
PublicImageFormatResult · object | null

The produced upscale (presigned URL); null until completed.

error
string | null

Failure detail when status is failed; otherwise null.