optidash / optidash
Official PHP integration for Optidash - AI-powered image optimization and processing API. We will drastically speed-up your websites and save you money on bandwidth and storage.
Requires
- php: >=5.3.0
- ext-curl: *
- ext-json: *
- lib-curl: >=7.20.0
This package is auto-updated.
Last update: 2024-03-04 18:57:57 UTC
README
Optidash is a modern, AI-powered image optimization and processing API.
We will drastically speed-up your websites and save you money on bandwidth and storage.
The official PHP integration for the Optidash API.
Documentation
See the Optidash API docs.
Installation
$ composer require optidash/optidash
Quick examples
Optidash API enables you to provide your images for processing in two ways - by uploading them directly to the API (Image Upload) or by providing a publicly available image URL (Image Fetch).
You may also choose your preferred response method on a per-request basis. By default, the Optidash API will return a JSON response with rich metadata pertaining to input and output images. Alternatively, you can use binary responses. When enabled, the API will respond with a full binary representation of the resulting (output) image. This PHP integration exposes two convenience methods for interacting with binary responses: toFile()
and toBuffer()
.
Image upload
Here is a quick example of uploading a local file for optimization and processing. It calls toJSON()
at a final step and instructs the API to return a JSON response.
<?php // Pass your Optidash API Key to the constructor $opti = new Optidash\Optidash('your-api-key'); // Upload an image from disk, resize it to 100 x 75, // automatically enhance, and adjust sharpness parameter. $opti ->upload('path/to/input.jpg') ->optimize(array( 'compression' => 'medium' )) ->resize(array( 'width' => 100, 'height' => 75 )) ->auto(array( 'enahnce' => true )) ->adjust(array( 'unsharp' => 10 )) ->toJSON(function ($error, $meta) { if (!empty($error)) { throw new Exception($error); } // You'll find the full JSON metadata within the `meta` variable });
Image fetch
If you already have your source visuals publicly available online, we recommend using Image Fetch by default. That way you only have to send a JSON payload containing image URL and processing steps. This method is also much faster than uploading a full binary representation of the image.
<?php // Pass your Optidash API Key to the constructor $opti = new Optidash\Optidash('your-api-key'); // Provide a publicly available image URL with `fetch()` method, // apply Gaussian blur using highly optimized PNG as the output format. // We'll also use `toFile()` method and stream the output image to disk $opti ->fetch('https://www.website.com/image.jpg') ->optimize(array( 'compression' => 'medium' )) ->filter(array( 'blur' => array( 'mode' => 'gaussian', 'value' => 10 ) )) ->output(array( 'format' => 'png' )) ->toFile('path/to/output.png', function ($error, $meta) { if (!empty($error)) { throw new Exception($error); } // You'll find the full JSON metadata within the `meta` variable });
License
This software is distributed under the MIT License. See the LICENSE file for more information.