Loading documentation…
Loading documentation…
Select known media and request explicit WebP and AVIF variants.
Resolve accepts exactly one discriminated selector:
| Type | Required fields | Meaning |
|---|---|---|
image_id | image_id | Existing img_ identity |
steam_url | url | URL admitted by the environment's reviewed source rules |
market_hash_name | integer app_id, exact market_hash_name | Retained app/name alias |
steam_description | integer app_id, string class_id, string instance_id | Retained app/class/instance alias |
Unknown aliases return 404 without a live catalog lookup. Do not lowercase or otherwise rewrite an exact name. Keep class and instance identifiers as decimal strings. This API is not an arbitrary URL proxy: approved HTTPS authority/path rules and resolved-address checks apply; a syntactically valid URL is not source permission. Source admission also does not establish legal redistribution rights.
{
"selector": {
"type": "steam_description",
"app_id": 440,
"class_id": "123",
"instance_id": "0"
},
"sizes": [128, 256],
"formats": ["webp", "avif"]
}The identifiers above are synthetic. Use aliases known to your enabled environment. Supported size selections are 64, 128, 256 and 512, with no duplicate sizes or formats. Up to eight size/format combinations are accepted. Omitted selection on standalone Resolve means a 128-pixel WebP response. Preparation still schedules all four sizes in every enabled format; size and format selections filter the response. Inventory include=images defaults to all eight variants. Aspect ratio is preserved without upscaling; use returned width and height rather than assuming a square.
WebP and AVIF use explicit URLs and MIME types image/webp and image/avif. Request both for browser fallback; there is no automatic Accept negotiation contract. Recipe r1 identifies immutable published bytes. A new recipe must have a new identity: re-resolve when adopting a future recipe rather than overwriting a saved URL.
Source download, decoding, encoding and storage each have bounded budgets. A variant can fail while another is ready. Treat per-variant errors as outcomes, retain successful URLs, and avoid unbounded resolve loops.