Cloudflare Docs
Cloudflare Image Optimization
Edit this page on GitHub
Set theme to dark (⇧+D)

Upload via URL

Sometimes it can be useful to use a URL of an image instead of uploading its data. To accommodate this need, Cloudflare Images provides an option to use a URL to migrate images to Cloudflare without fetching them first.

To learn more about the supported image formats you can upload, refer to Supported image formats. Refer to Make your first API request to learn more about API tokens.

Below is an example of how to use the upload via URL feature:

curl --request POST \
--url<ACCOUNT_ID>/images/v1 \
--header 'Authorization: Bearer <API_TOKEN>' \
--form 'url=https://[user:password@]<PATH_TO_IMAGE>' \
--form 'metadata={"key":"value"}' \
--form 'requireSignedURLs=false'

You will then receive a response similar to this:

"result": {
"id": "2cdc28f0-017a-49c4-9ed7-87056c83901",
"filename": "image.jpeg",
"metadata": {
"key": "value"
"uploaded": "2022-01-31T16:39:28.458Z",
"requireSignedURLs": false,
"variants": [
"success": true,
"errors": [],
"messages": []

If your origin server returns an error while fetching the images, the API response will return a 4xx error.

Refer to Upload an image using a single HTTP request for more information.