Core conceptsCaching
Caching
Identical renders are served from cache — returning in milliseconds and costing zero credits. Caching is on by default and fully under your control.
Cache parameters
| Parameter | Type | Description |
|---|---|---|
cacheboolean | boolean | Set false to force a fresh render and bypass the cache. Defaults to true. |
cache_ttlinteger | integer | How long a cached render stays valid, in seconds (0–2592000, up to 30 days). Defaults to 3600. |
cache_keystring | string | Override the automatic key. Same key = shared cache entry; unique key = forced separation. |
How the key is derived
By default the cache key is a hash of the full normalized render spec — URL plus every option. Change any rendering parameter and you get a fresh render. Supply your own cache_key to decouple caching from the spec (e.g. cache by URL only, ignoring a changing auth header).
Cache hits are free
A response with "cached": true was served from cache: credits_used is 0 and latency is typically under 100 ms. This is the cheapest, fastest path — design idempotent renders to take advantage of it.
When to bypass the cache
- Rendering a page whose content changes faster than your
cache_ttl— lower the TTL or setcache: false. - Capturing time-sensitive or personalized content that must never be shared across requests.
- Debugging a render — set
cache: falseto guarantee the engine runs.