---
title: "Get image details"
method: GET
path: "/v1/image-projects/{id}"
tags: ["Image Projects"]
---

# Get image details

`GET /v1/image-projects/{id}`

Check the progress of a image project. The `downloads` field is populated after a successful render.
  
**Statuses**
- `queued` — waiting to start
- `rendering` — in progress
- `complete` — ready; see `downloads`
- `error` — a failure occurred (see `error`)
- `canceled` — user canceled
- `draft` — not used

## Path parameters

- `id` string, required

## Response `200`

Success

- object — Success
  - `id` string, required — Unique ID of the image. Use it with the [Get image Project API](https://docs.magichour.ai/api-reference/image-projects/get-image-details) to fetch status and downloads.
  - `name` string, nullable, required — The name of the image.
  - `status` 'draft' | 'queued' | 'rendering' | 'complete' | 'error' | 'canceled', required — The status of the image. - `draft` - the project was created but has not been submitted for rendering - `queued` - the job is waiting for an available server - `rendering` - the job is being processed; the `image.started` webhook event fires when rendering begins - `complete` - the job finished successfully; fires `image.completed` - `error` - the job failed during processing; fires `image.errored` - `canceled` - the job was manually canceled (for example from the Magic Hour web app) **Note:** `rendering`, `complete`, and `error` have matching webhook events; `canceled` does not - a canceled job emits no webhook event, so poll this endpoint to detect cancellation.
  - `image_count` integer, required — Number of images generated
  - `type` string, required — The type of the image project. Possible values are FACE_EDITOR, AI_IMAGE_EDITOR, AI_SELFIE, AI_HEADSHOT, AI_INFLUENCER, AI_IMAGE, AI_MEME, CLOTHES_CHANGER, BACKGROUND_REMOVER, FACE_SWAP, IMAGE_UPSCALER, IMAGE_ENHANCER, AI_GIF, QR_CODE, PHOTO_EDITOR, PHOTO_COLORIZER, HEAD_SWAP, BODY_SWAP, STORYBOARD, IMAGE_EXPANDER
  - `created_at` string, date-time, required
  - `enabled` boolean, required — Whether this resource is active. If false, it is deleted.
  - `credits_charged` integer, required — The amount of credits deducted from your account to generate the image. We charge credits right when the request is made. If an error occurred while generating the image(s), credits will be refunded and this field will be updated to include the refund.
  - `downloads` object[], required
    - `url` string, uri, required
    - `expires_at` string, date-time, required
  - `error` object, nullable, required — In the case of an error, this object will contain the error encountered during video render
    - `message` string, required — Details on the reason why a failure happened.
    - `code` string, required — An error code to indicate why a failure happened.

## Other responses

- `400` — Invalid Request
- `401` — Unauthorized
- `402` — Payment Required
- `404` — Not Found

---

[API](https://skmtc.net/magichourhq/apis/magic-hour-api.md) · [All operations](https://skmtc.net/magichourhq/apis/magic-hour-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/magichourhq/magic-hour-api/revisions/6735d97aa720/schema)
