---
title: "Create a compute image from a disk image URL."
method: POST
path: "/api/v1/organizations/{organizationID}/regions/{regionID}/images"
tags: ["Images"]
---

# Create a compute image from a disk image URL.

`POST /api/v1/organizations/{organizationID}/regions/{regionID}/images`

Create a compute image from a public URL.  Only raw images are supported, other container
formats such as qcow2 must be first converted to a raw image.

## Request body

- ImageCreate — A compute image create request.
  - `metadata` ResourceMetadata, required — Metadata required for all API resource reads and writes.
    - `name` string, required — A valid Kubernetes label value, typically used for resource names that can be indexed in the database.
    - `description` string — The resource description, this optionally augments the name with more context.
    - `tags` Tag[] — A list of tags.
      - `name` string, required — A unique tag name.
      - `value` string, required — The value of the tag.
  - `spec` ImageCreateSpec, required — A compute image specification.
    - `uri` string, uri, required — A URI to upload the image from.
    - `architecture` 'x86_64' | 'aarch64', required — CPU architecture.
    - `virtualization` 'virtualized' | 'baremetal' | 'any', required — What type of machine the image is for.
    - `os` ImageOS, required — An operating system description.
      - `kernel` 'linux', required — A kernel type.
      - `family` 'redhat' | 'debian', required — A family of operating systems. This typically defines the package format.
      - `distro` 'rocky' | 'ubuntu', required — A distribution name.
      - `variant` string — A free form variant e.g. desktop/server.
      - `codename` string — A free form code name e.g. warty/bionic.
      - `version` string, required — Version of the operating system e.g. "24.04".
    - `softwareVersions` SoftwareVersions — Image preinstalled version version metadata.
    - `gpu` ImageGpu — The GPU driver if installed.
      - `vendor` 'NVIDIA' | 'AMD', required — The GPU vendor.
      - `driver` string, required — The GPU driver version, this is vendor specific.
      - `models` GpuModel[] — A list of GPU model numbers.

## Response `200`

An image that can be used on this platform.

- Image — An image.
  - `metadata` StaticResourceMetadata, required — Metadata required for all API resource reads and writes.
    - `name` string, required — A valid Kubernetes label value, typically used for resource names that can be indexed in the database.
    - `description` string — The resource description, this optionally augments the name with more context.
    - `tags` Tag[] — A list of tags.
      - `name` string, required — A unique tag name.
      - `value` string, required — The value of the tag.
    - `id` string, required — The unique resource ID.
    - `creationTime` string, date-time, required — The time the resource was created.
    - `createdBy` string — The user who created the resource.
    - `modifiedTime` string, date-time — The time a resource was updated.
    - `modifiedBy` string — The user who updated the resource.
  - `spec` ImageSpec, required — An image.
    - `architecture` 'x86_64' | 'aarch64', required — CPU architecture.
    - `sizeGiB` integer, required — Minimum disk size required to use the image in GiB.
    - `virtualization` 'virtualized' | 'baremetal' | 'any', required — What type of machine the image is for.
    - `os` ImageOS, required — An operating system description.
      - `kernel` 'linux', required — A kernel type.
      - `family` 'redhat' | 'debian', required — A family of operating systems. This typically defines the package format.
      - `distro` 'rocky' | 'ubuntu', required — A distribution name.
      - `variant` string — A free form variant e.g. desktop/server.
      - `codename` string — A free form code name e.g. warty/bionic.
      - `version` string, required — Version of the operating system e.g. "24.04".
    - `softwareVersions` SoftwareVersions — Image preinstalled version version metadata.
    - `gpu` ImageGpu — The GPU driver if installed.
      - `vendor` 'NVIDIA' | 'AMD', required — The GPU vendor.
      - `driver` string, required — The GPU driver version, this is vendor specific.
      - `models` GpuModel[] — A list of GPU model numbers.
  - `status` ImageStatus, required — The image's status.
    - `state` 'pending' | 'creating' | 'ready' | 'failed', required — The images's lifecycle state.

## Other responses

- `401` — Authentication failed or the access token has expired.
- `403` — Request was denied by authorization, this may be caused by the authorization token not having the required scope for an API, or the user doesn't have the necessary privileges on the provider platform.
- `404` — Unable to find a resource.
- `422` — The provided request was syntactically correct but the instruction was unable to be processed due to semantic errors.
- `500` — An unexpected or unhandled error occurred. This may be a transient error and may succeed on a retry. If this isn't the case, please report it as an issue.

---

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