Resize, convert or keep metadata of a compressed image
tinypng_transform_imageWRITE (uses quota): apply a resize, a format conversion and/or metadata preservation to an image compressed earlier (the output_url from tinypng_compress_image, valid about 48 hours). Returns the resulting type, byte size, width, height and Compression-Count; the image itself is returned too when include_image is true and it is under 1 MB. Resize: method scale (give width OR height), or fit / cover / thumb (give width AND height); images are never scaled up. Convert: one or more of image/webp, image/jpeg, image/png, image/avif, image/jxl (several = the smallest is returned) or / (the smallest of WebP, JPEG, PNG); converting a transparent image to JPEG needs a background colour. Preserve: copyright, creation, location (location is JPEG only) keeps that metadata, which makes the file slightly larger. Each call is a fresh request: resize and convert each count one extra compression on your monthly Tinify quota, preserve is free. Tinify returns the bytes only (no new URL), so only include_image gives you the transformed file, and only when it is under 1 MB. POST /output/{id}.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| preserve | No | Metadata to keep: copyright, creation, location (JPEG only). | |
| background | No | Background for transparent areas when converting to a type without transparency (JPEG): "#rrggbb", "white" or "black". Only with convert_to. | |
| convert_to | No | Target type(s), e.g. ["image/webp"]. Several = the smallest result is returned. ["*/*"] = the smallest of WebP, JPEG, PNG. | |
| output_url | Yes | The output_url returned by tinypng_compress_image (https://api.tinify.com/output/<id>), or just the id. Outputs are kept by Tinify for about 48 hours. | |
| resize_width | No | Target width in pixels. | |
| include_image | No | Also return the resulting image (only when it is under 1 MB). Default false: sizes only. | |
| resize_height | No | Target height in pixels. | |
| resize_method | No | Resize method. scale: width or height; fit/cover/thumb: width and height. |