litespeed/update-viewport-settings changes the viewport-image toggles, which stop above-the-fold images being lazy loaded automatically.
They are writable here and will not change rendering on their own, because they depend on data this suite cannot generate.
At a glance
| Ability | litespeed/update-viewport-settings |
| Toolset | LiteSpeed Cache — toolset/litespeed |
| Group | LiteSpeed Cache › Images & Lazy Load |
| Requires | LiteSpeed Cache, active on the site |
| Capability | manage_options |
| Safety | Writes data |
| Repeatable | Idempotent — running it twice leaves the same result |
| Ships in | AcrossAI Abilities Manager 0.0.34 and later |
Writable, and inert without the data
The feature works by knowing which images appear in the viewport on each template, and that knowledge comes from analysing rendered pages — a QUIC.cloud service. Without generated viewport data, the toggles are set and nothing uses them.
Saying so plainly is the point of this page. The settings save cleanly, the admin shows them on, and the behaviour does not change — which looks exactly like a bug and is not one.
The manual alternative works without any of that: exclude the above-the-fold images by class or parent class through litespeed/update-media-exclusions. It takes knowing which images those are, and on most sites that is one hero image per template.
No ability in this suite calls QUIC.cloud. Generating viewport data costs credits, and spending somebody’s credits as a side effect of a request is not something to do without being asked directly.
The write is a patch, not a replacement. Send one key and one key changes; everything else in the area is left alone. The response names the keys that actually moved, so a payload that matched the existing values comes back with an empty list rather than a misleading success.
Input
| Name | Type | Required | What it is |
|---|---|---|---|
settings | object | Yes | A map of setting key to new value. Keys outside this area are refused, and the refusal lists what the area accepts. |
What comes back
| Name | Type | What it is |
|---|---|---|
updated | array | The keys that actually changed. An empty array means every value you sent was already set. |
settings | array | Every setting in the area after the write, in the read shape. |
success | boolean | Whether the call completed. |
message | string | A one-line summary of what happened, suitable for showing a human. |
error_code | string | Present only on failure — a stable machine-readable reason, such as a missing field, a wrong field type or an unmet confirmation. |
Example
Ask your assistant:
Turn on the viewport image optimisation.
It resolves to one call:
{
"ability": "litespeed/update-viewport-settings",
"parameters": {
"settings": { "media-vpi": true }
}
}Worth knowing
- Inert until viewport data has been generated, which happens outside this suite.
- The manual equivalent is a parent-class exclusion for the hero image.
- No ability here spends QUIC.cloud credits.
- Settings save cleanly either way, so check the front end rather than the admin.
Related abilities
- Update Media Exclusions — the manual equivalent that works today
- Get Media Settings — read the current toggles
Get the plugins:
AcrossAI Abilities Manager · AcrossAI MCP Manager
Browse the rest: Every ability, by category