Create a Custom Image
To create a new custom image, send a POST request to /v2/images. The body must contain a url attribute pointing to a Linux virtual machine image to be imported into DigitalOcean. The image must be in the raw, qcow2, vhdx, vdi, or vmdk format. It may be compressed using gzip or bzip2 and must be smaller than 100 GB after being decompressed.
Request body
Example request
{
"name": "ubuntu-18.04-minimal",
"url": "http://cloud-images.ubuntu.com/minimal/releases/bionic/release/ubuntu-18.04-minimal-cloudimg-amd64.img",
"distribution": "Ubuntu",
"region": "nyc3",
"description": "Cloud-optimized image w/ small footprint",
"tags": [
"base-image",
"prod"
]
}Response
The response will be a JSON object with a key set to image. The value of this will be an image object containing a subset of the standard image attributes as listed below, including the image's id and status. After initial creation, the status will be NEW. Using the image's id, you may query the image's status by sending a GET request to the /v2/images/$IMAGE_ID endpoint. When the status changes to available, the image will be ready for use.
Example response
{
"image": {
"id": 7555620,
"name": "Nifty New Snapshot",
"type": "snapshot",
"distribution": "Ubuntu",
"slug": "nifty1",
"public": true,
"regions": [
"nyc1",
"nyc2"
],
"created_at": "2020-05-04T22:23:02Z",
"min_disk_size": 20,
"size_gigabytes": 2.34,
"description": " ",
"tags": [
"base-image",
"prod"
],
"status": "NEW",
"error_message": " "
}
}