---
title: "Get a job"
method: GET
path: "/jobs/{id}"
---

# Get a job

`GET /jobs/{id}`

Retrieve status, progress, and result URL for a single job.

## Path parameters

- `id` string, uuid, required

## Response `200`

Job details.

- Job
  - `id` string, uuid, required
  - `status` 'pending' | 'uploading' | 'processing' | 'downloading' | 'completed' | 'failed' | 'canceled', required
  - `model` 'flare' | 'prism' | 'lumen' | 'mirage' | 'motion' | 'motion-x', required — What to upscale with. - `flare`: everyday photos, fastest and cheapest, up to 4x. - `prism`: text, logos and product shots. Adds no detail that was not in the original. Up to 4x. - `lumen`: maximum real detail recovery, for print. Up to 8x. - `mirage`: invents plausible new detail. Most dramatic, least faithful. Up to 8x. - `motion`: standard video upscale, up to 4x. - `motion-x`: cinema-grade video, slower and dearer, up to 4x.
  - `scale` integer, required
  - `original_filename` string, nullable, required
  - `result_url` string, uri, nullable, required — Presigned URL to the upscaled file. Valid for 1 hour.
  - `error` string, nullable, required — Why the job failed. Null unless status is 'failed'.
  - `frames_total` integer, nullable, required — Video only. Frames the job has to process.
  - `frames_done` integer, nullable, required — Video only. Frames processed so far.
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `401` — Unauthorized.
- `404` — Job not found.

---

[API](https://skmtc.net/upres/apis/upres-ai-api.md) · [All operations](https://skmtc.net/upres/apis/upres-ai-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/upres/upres-ai-api/revisions/a1a5f505549c/schema)
