Rust client for the Tinify API, used for TinyPNG and TinyJPG. Tinify compresses your images intelligently. Read more at https://tinify.com.
Go to the documentation for the HTTP client.
In currently development.
There are still features of TinyPNG to implement.
To look at all the features of Tinify API: Documentation.
Install the API client with Cargo. Add this to Cargo.toml
:
[dependencies]
tinify-rs = "0.2.0"
-
About key
Get an API key from https://tinypng.com/developers
-
Compress from a file
use tinify_rs::tinify;
fn main() {
tinify::set_key("tinify api key");
let source = tinify::from_file("./unoptimized.png");
let compress = source.to_file("./optimized.png");
}
- Compress from an url file
use tinify_rs::tinify;
fn main() {
tinify::set_key("tinify api key");
let source = tinify::from_url("https://tinypng.com/images/panda-happy.png");
let compress = source.to_file("./optimized.png");
}
- Compress from a file buffer
use tinify_rs::tinify;
use std::fs;
fn main() {}
tinify::set_key("tinify api key");
let bytes = fs::read("./unoptimized.png").unwrap();
let buffer = tinify::from_buffer(&bytes).to_buffer();
let save = fs::write("./optimized.png", buffer);
}
cargo test
All contributions will be welcomed. Feel free to open any issues or pull requests.