{"slug":"wasm-geotiff-transcoder-jannioura-workers-dev-040480","title":"Decodes a GeoTIFF/COG (https URL or inline base64), reads the selected RGB bands","host":"wasm-geotiff-transcoder.jannioura.workers.dev","method":"POST","resource":"https://wasm-geotiff-transcoder.jannioura.workers.dev/","category":"other","description":"Decodes a GeoTIFF/COG (https URL or inline base64), reads the selected RGB bands via windowed overview reads, applies a tone-map stretch, and returns a PNG/WebP plus georeference metadata (CRS, bounds, pixel scale) and source stats. Limits: 20 MB source, 2048 px output width. Billed per attempt: pay","price_listed":0.03,"price_asked":0.03,"state":"answering","state_label":"Answering","checks_7d":1,"answered_7d":1,"latency_ms_median":70,"reported_calls_30d":6,"reported_payers_30d":2,"networks":["eip155:8453"],"badge":"unverified","paid_checks_7d":0,"paid_ok_7d":0,"example_input":{"body":{"source":"https://raw.githubusercontent.com/OSGeo/gdal/master/autotest/gcore/data/rgbsmall.tif"},"bodyType":"json","method":"POST","type":"http"},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"oneOf":[{"required":["source"]},{"required":["or_base64_body"]}],"properties":{"bands_rgb":{"default":[1,2,3],"description":"1-based band indices mapped to R, G, B output channels. Whether an index is valid can only be known after the source is fetched and decoded (its real band count isn't knowable in advance), so a mismatch here still incurs the charge -- see the top-level description.","items":{"minimum":1,"type":"integer"},"maxItems":3,"minItems":3,"type":"array"},"max_width_px":{"default":2048,"maximum":2048,"minimum":1,"type":"integer"},"or_base64_body":{"contentEncoding":"base64","description":"Inline base64-encoded GeoTIFF bytes. Exactly one of `source` or `or_base64_body` must be provided.","type":"string"},"output_format":{"default":"webp","enum":["webp","png"],"type":"string"},"source":{"description":"https URL of the GeoTIFF/COG to transcode. Exactly one of `source` or `or_base64_body` must be provided.","format":"uri","type":"string"},"stretch":{"default":"percentile_2_98","enum":["none","percentile_2_98"],"type":"string"}},"required":[],"type":"object"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST","PUT","PATCH"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"},"output":{"properties":{"example":{"properties":{"compute_ms":{"type":"integer"},"format":{"enum":["webp","png"],"type":"string"},"georef":{"properties":{"bounds_wgs84":{"description":"[west, south, east, north] in WGS84 degrees; null when the source CRS is unknown.","items":{"type":"number"},"maxItems":4,"minItems":4,"type":["array","null"]},"crs":{"examples":["EPSG:32610"],"type":"string"},"pixel_scale_m":{"type":["number","null"]}},"type":"object"},"height_px":{"type":"integer"},"image_base64":{"contentEncoding":"base64","type":"string"},"source_stats":{"properties":{"bands":{"type":"integer"},"bit_depth":{"type":["integer","null"]},"compression":{"type":"string"}},"type":"object"},"width_px":{"type":"integer"}},"required":["image_base64","format","width_px","height_px","georef","source_stats","compute_ms"],"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"},"history":[{"day":"2026-09-24","reachable":true,"status":402,"valid_402":true,"asked_usdc":0.03,"price_match":true,"latency_ms":70,"error":null}],"description_full":"Decodes a GeoTIFF/COG (https URL or inline base64), reads the selected RGB bands via windowed overview reads, applies a tone-map stretch, and returns a PNG/WebP plus georeference metadata (CRS, bounds, pixel scale) and source stats. Limits: 20 MB source, 2048 px output width. Billed per attempt: payment settles after structural validation, before decode, so decode-time failures (e.g. a bands_rgb band the source lacks) are still charged.","last_updated":"2026-09-24T00:01:49.762Z","schemes":["exact"]}