Storage, caching and links
Three ways to deliver a render besides the response body: upload it to your own bucket, cache it so repeat requests are free, or get a hosted link.
Upload to your own bucket
Any render can go straight to an S3-compatible bucket: AWS S3, Cloudflare R2, Backblaze B2, MinIO and others. The response is JSON instead of the file.
| Parameter | Default | Description |
|---|---|---|
storage_bucket | — | Bucket name. Setting it turns the upload on. |
storage_access_key_idstorage_secret_access_key | — | Credentials, used for this upload only and never stored or logged. |
storage_key | — | Object path, e.g. shots/home.png. Without it, a unique name is generated. |
storage_endpoint | — | https endpoint for non-AWS providers, e.g. https://<account>.r2.cloudflarestorage.com. |
storage_region | — | Bucket region; us-east-1 on AWS and auto with a custom endpoint unless set. |
storage_acl | — | e.g. public-read, if your bucket allows ACLs. |
{"stored": true, "bucket": "my-shots", "key": "shots/home.png", "url": "https://…/shots/home.png", "etag": "…", "bytes": 48211, "format": "png"}
The url is the object's address in your bucket; whether it opens publicly depends on your bucket settings.
Caching
Set cache_ttl (seconds, up to 30 days) and identical requests within that time are served from the cache for free. The response carries X-Cache: HIT, MISS or BYPASS. Signed URLs cache for 24 hours unless you set another TTL. Bot-protection pages are never cached.
Hosted links
Add response_type=json to get a link instead of the file, which suits no-code tools and agents:
{"url": "https://shotlane.dev/r/Es-3aC3F1W.png", "expires_in": 86400, "format": "png", "bytes": 55003, "width": 1280, "height": 800, "target_status": 200, "credits_remaining": 1833}
Links are unguessable and expire after 24 hours. Multi-device renders and checks return links too, and take keep_days (up to 30) for longer ones.
Hosted links are deleted after 24 hours (or your keep_days), cached results when their cache time ends. Details in the privacy policy.