Cloud storage
Offloading Aimogen Pro generated media to Amazon S3, Cloudflare R2, DigitalOcean Spaces, Wasabi or any S3-compatible endpoint.
Generated images can be stored in the WordPress Media Library or offloaded to S3-compatible object storage.
Settings › Cloud Storage, with the destination selected in Settings › AI Images › Copy Royalty Free / AI Images From Post Content.
This tutorial was recorded before Aiomatic was renamed to Aimogen Pro. Some labels or interface elements may differ slightly from the current version.
This tutorial was recorded before Aiomatic was renamed to Aimogen Pro. Some labels or interface elements may differ slightly from the current version.
Destinations#
| Value | Destination | Settings |
|---|---|---|
disabled | Hotlink from the provider | none |
on | WordPress Media Library | none |
amazon | Amazon S3 | bucket_name, bucket_region, s3_user, s3_pass, drive_directory |
cloudflare | Cloudflare R2 | cloud_account, cloud_bucket, cloud_user, cloud_pass, cloud_directory, cloud_public |
digital | DigitalOcean Spaces | digital_endpoint, digital_user, digital_pass, digital_directory |
wasabi | Wasabi | wasabi_bucket, wasabi_region, wasabi_user, wasabi_pass, wasabi_directory |
generics3 | Any S3-compatible endpoint | generic_url, generic_bucket, generic_region, generic_user, generic_pass, generic_directory |
Why offload rather than use the Media Library#
Media Library is simpler, integrates with everything, and images are backed up with your site. For most sites it is the right answer.
Object storage is worth it when:
- You generate images at volume and your hosting disk or backups are becoming a problem
- You want images served from a CDN edge rather than your origin
- Your host charges for storage or bandwidth in a way that makes object storage cheaper
- You run several sites and want one image store
Cost comparison#
Roughly, and subject to change:
| Provider | Storage | Egress |
|---|---|---|
| Cloudflare R2 | Low | Free |
| Wasabi | Low, with a minimum retention period | Free within a usage policy |
| DigitalOcean Spaces | Flat monthly bundle | Included allowance |
| Amazon S3 | Low | Charged per GB — the usual surprise |
For image-serving specifically, Cloudflare R2 is the standout, because egress is where S3 bills add up and R2 does not charge for it.
Configuring#
Each destination needs credentials, a bucket and a region or endpoint. Get them from the provider console:
- Amazon S3 and IAM credentials
- Cloudflare R2 in the Cloudflare dashboard
- DigitalOcean Spaces keys
- Wasabi access keys
cloud_public controls whether Cloudflare R2 objects are publicly readable — they must be, for images
served in posts.
Image processing on import#
Applies regardless of destination:
| Setting | What it does |
|---|---|
AI Generated Image Resize Width / Height | Resize before storing |
Resize Quality | JPEG quality |
Disable Compression / Compression Quality | Recompression |
Worth setting. A 1024×1024 PNG from an image model is often several megabytes; resized and recompressed it is a fraction of that, which matters for both storage cost and page speed.
Common problems#
Images upload but 404 when displayed. The bucket or objects are not publicly readable.
Upload fails with an access error. The credentials lack PutObject on that bucket.
Images work but load slowly. No CDN in front of the bucket. Put one there.
Existing images did not move. The setting applies to newly generated images only. There is no bulk migration.
The region is rejected. The region must match the bucket exactly.
Related#
Still stuck? Open a support ticket and include the diagnostics from Aimogen Pro › System & Logs › System Info.