Speedwholes - Image Resize Service Usage: /resize/{key}/{value}/.../{url} Required params (unless using template or bypass mode): - w: width in pixels - h: height in pixels Optional params: - fit: cover (default), contain, fill - q: quality 1-100 (default 85, affects JPEG/WebP) - f: output format (jpg, png, webp, gif) - nocache: 1 to bypass cache - b: 1 to bypass resize (serve source image directly) - s: URL signature (HMAC) Bypass mode (b/1): - Skips resize, serves cached source image directly - No width/height required - Source is still cached for future requests - Example: /resize/b/1/u/https://example.com/image.jpg Template mode (uses preset params from subdomain config): - /resize/t/{template_name}/u/{url} - /resize/t/{template_name}/p/{part0}/{part1}/... Source modes: - /u/{url}: Direct URL mode - full source URL follows - /p/{parts}: Parts mode - uses source_template from subdomain config - Legacy: bare http(s):// URL (backwards compatible) Parts mode with source_template: - Configure source_template in subdomain config (subdomainConfig/{name}.json) - Template uses {0}, {1}, {2}... placeholders - Parts in URL map to placeholders: /p/part0/part1/part2 -> {0}=part0, {1}=part1, {2}=part2 - Example template: "https://cdn.example.com/{1}/{2}.{0}?token={3}" - With /p/jpg/photos/image123/mytoken resolves to: https://cdn.example.com/photos/image123.jpg?token=mytoken Examples: - /resize/w/300/h/200/u/https://example.com/image.jpg - /resize/w/300/h/200/fit/contain/u/https://example.com/image.jpg - /resize/w/300/h/200/p/jpg/photos/image123 (with source_template in config) - /resize/t/thumbnail/u/https://example.com/image.jpg - /resize/t/hero/p/jpg/photos/banner - /resize/b/1/u/https://example.com/image.jpg (bypass resize) Admin API: /config007/ Health check: /health