Crates.io | sauce-api |
lib.rs | sauce-api |
version | 1.0.0 |
source | src |
created_at | 2020-11-17 10:14:41.99938 |
updated_at | 2022-11-24 18:10:47.964713 |
description | API for searching for the original source of images. |
homepage | |
repository | https://github.com/lyssieth/sauce-api |
max_upload_size | |
id | 313257 |
size | 24,812 |
sauce-api is an API for finding the source image for low-quality or cropped images.
Currently it only works with anime-styled images, but I hope to makeit capable of doing other kinds of images as well.
Asynchronous due to the usage of reqwest
, and works best with Tokio.
If you wish to see more, please submit PRs or a request in an issue!
use sauce_api::source::{Output, iqdb::Iqdb, Source};
use sauce_api::error::Error;
async fn find_source(url: &str) {
let source = Iqdb::create(()).await.unwrap();
let res: Result<Output, Error> = source.check(url).await; // Can take some time as IQDB is a bit slow.
match res {
Ok(result) => {
println!("Found results! {:?}", result);
}
Err(e) => {
eprintln!("Unable to find results: {}", e);
}
}
}
use sauce_api::source::{Output, saucenao::SauceNao, Source};
use sauce_api::error::Error;
async fn find_source(url: &str, api_key: &str) {
let source = SauceNao::create(api_key.to_string()).await.unwrap();
let res: Result<Output, Error> = source.check(url).await;
match res {
Ok(result) => {
println!("Found results! {:?}", result);
}
Err(e) => {
eprintln!("Unable to find results: {}", e);
}
}
}
sauce-api by default uses the native TLS framework, see this for specific details.
You may opt-in to using rustls if you would like to by enabling the rustls
feature like this:
sauce-api = { version = "1.0.0", features = ["rustls"] }