---
canonical: 'https://htmlcsstoimage.com/features/custom-storage'
title: 'S3-Compatible Image Storage - Amazon S3 and R2 | HTML/CSS to Image'
description: 'Send generated images directly to Amazon S3, Cloudflare R2, Google Cloud Storage, Backblaze B2, DigitalOcean Spaces, Wasabi, or S3-compatible storage.'
---

# Send generated images directly to your object storage

Connect your bucket once, then use the destination's ID in an image request. Keep generated images in your account, behind your CDN, and under your existing access and retention policies.

## Key capabilities

- S3-compatible providers
- Reusable destination IDs
- Disable HCTI storage

## Connect your existing object storage

Configure Amazon S3, Cloudflare R2, Google Cloud Storage, Backblaze B2, DigitalOcean Spaces, Wasabi, or an S3-compatible HTTPS endpoint that HCTI can reach over the public internet. Custom storage destinations are available on Solo and higher plans; see [pricing](https://htmlcsstoimage.com/pricing.md) for current plan details.

HCTI assigns the saved destination an opaque ID. Copy it from the dashboard or obtain it with `list_storage_destinations`, then send it in the image request:

```json
{
  "storage_destination_id": "rK4mQ9xP"
}
```

Generated images arrive in your bucket, where your existing CDN, lifecycle rules, access policies, and image processing can handle them. If **Disable HCTI Storage** is enabled on the destination, HCTI still processes the render and retains its settings and metadata, but does not retain the rendered file, cache it on the HCTI CDN, or provide a public HCTI image URL. The setting is captured when each image is created and does not change existing images.

## MCP Integration

Connect an MCP-compatible client to `https://mcp.hcti.io` with OAuth. The tools use the connected organization's HTML/CSS to Image account, permissions, and plan limits.

- The `list_storage_destinations` tool returns the organization's available storage destinations, if any, with IDs and without sensitive connection details. Use an enabled ID as `storage_destination_id` when generating an image or PDF.

[Read the full MCP docs](https://docs.htmlcsstoimage.com/integrations/mcp/).

## Use your existing bucket, CDN, and retention policies

### Storage in your account

Write generated images to the bucket and cloud account your team already manages.

### CDN and image processing

Use your existing CDN, lifecycle rules, access policies, and image transformations without copying files between systems.

### S3-compatible providers

Connect Amazon S3, Cloudflare R2, Google Cloud Storage, or an S3-compatible HTTPS endpoint that HCTI can reach over the public internet.

### Disable HCTI Storage

Enable this setting on a destination to prevent HCTI from retaining the rendered file for new images that use it; HCTI still retains image settings and metadata.

## Related features

- [Security](https://htmlcsstoimage.com/features/security.md): Route rendering through your proxies and send images to your own storage.
- [Organizations](https://htmlcsstoimage.com/features/organizations.md): Give the whole team access with no per-seat charges.

## Get started

REST API requests require an HTML/CSS to Image account and should be authenticated from trusted application code. Check the API docs and pricing for current setup instructions, limits, and feature availability.

- [View the full feature page](https://htmlcsstoimage.com/features/custom-storage)
- [Browse all features](https://htmlcsstoimage.com/features.md)
- [Start free](https://htmlcsstoimage.com/join)
- [View pricing](https://htmlcsstoimage.com/pricing.md)
- [Read the storage destination docs](https://docs.htmlcsstoimage.com/guides/advanced/storage-destinations/)
- [Read the MCP docs](https://docs.htmlcsstoimage.com/integrations/mcp/)
