Upload an image

Initiates an Image upload.

This operation creates a new private Image object and returns it along with the URL to which image data can be uploaded.

  • Image data must be uploaded within 24 hours of creation or the upload will be canceled and the image deleted.

  • Image uploads should be made as an HTTP PUT request to the URL returned in the upload_to response parameter, with a Content-type: application/octet-stream header included in the request. For example:

    curl -v \
      -H "Content-Type: application/octet-stream" \
      --upload-file example.img.gz \
      $UPLOAD_URL \
      --progress-bar \
      --output /dev/null
  • Uploaded image data should be compressed in gzip (.gz) format. The uncompressed disk should be in raw disk image (.img) format. A maximum compressed file size of 5GB is supported for upload at this time.

To initiate and complete an Image upload in a single step, see our guide on how to Upload an Image using Cloud Manager or the Linode CLI image-upload plugin.

Note. Images are not encrypted even when they are taken from an encrypted disk. When a compute instance is rebuilt from an image, and if the instance has disk encryption enabled, the disk is automatically encrypted.

# Upload the Image file in a single step
linode-cli image-upload \
  --description "Optional details about the Image" \
  --label "Example Image" \
  --region us-east \

# Returns the upload_to URL
linode-cli images upload \
  --description "Optional details about the Image" \
  --label "Example Image" \
  --region us-east


Click Try It! to start a request and see the response here!