Compressor APIStorageCloudflare R2

Storage - Cloudflare R2

Integrate Cloudflare R2 with Compressor using our Secure Storage Connectors system. This approach keeps your Cloudflare credentials secure within your Compressor Account, requiring only a connector reference ID in your API calls.

Authentication

Authentication is handled exclusively through Secure Storage Connectors. Create a connector in your Compressor Account dashboard by providing your Cloudflare R2 API credentials, then reference it using its unique identifier in your API requests.

Configuration Options

ParameterTypeRequiredDetails
bucketStringYesTarget R2 bucket name.
pathStringNoObject destination path (omit leading slash). Defaults to root.
aclStringNoAccess control: public-read or private. Default: public-read.
metadataHashNoCustom metadata key-value pairs.
headersHashNoCustom HTTP Headers: Cache-Control, Content-Type, Content-Encoding, Content-Disposition.

Implementation Example

Below is a complete API request demonstrating Google Cloud Storage integration:

curl https://api.compressor.app/1.0/fetch \
  -X POST \
  -u your-api-key: \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://www.website.com/image.jpg",
    "image": {
      "resize": {
        "width": 640,
        "height": 480,
        "mode": "fit"
      }
    },
    "store": {
      "id": "your-connector-id",
      "bucket": "my-bucket",
      "path": "assets/image.jpg",
      "headers": {
        "Cache-Control": "max-age=2592000000"
      }
    }
  }'

API Response

Successful requests return the Cloudflare R2 object URL in the response.

{
  "id": "38a8bb5e-7b50-4a22-a0a6-b9602fccb225",
  "url": "https://bucket-name.account.r2.cloudflarestorage.com/image.jpg",
  "input": {
    "name": "image.jpg",
    "type": "image",
    ...
  },
  "output": {
    "name": "image.jpg",
    "type": "image",
    ...
  }
}
On this page