https://github.com/optidash-ai/optidash-php
The official PHP integration for Optidash API
https://github.com/optidash-ai/optidash-php
image-analysis image-manipulation image-optimization image-processing image-resizing optidash
Last synced: about 1 month ago
JSON representation
The official PHP integration for Optidash API
- Host: GitHub
- URL: https://github.com/optidash-ai/optidash-php
- Owner: optidash-ai
- License: mit
- Created: 2020-05-13T21:24:38.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2021-02-04T11:37:10.000Z (over 5 years ago)
- Last Synced: 2025-10-19T22:48:27.242Z (8 months ago)
- Topics: image-analysis, image-manipulation, image-optimization, image-processing, image-resizing, optidash
- Language: PHP
- Homepage: https://docs.optidash.ai
- Size: 162 KB
- Stars: 3
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
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](https://docs.optidash.ai).
### Installation
```bash
$ 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](https://docs.optidash.ai/requests/image-upload)) or by providing a publicly available image URL ([Image Fetch](https://docs.optidash.ai/requests/image-fetch)).
You may also choose your preferred [response method](https://docs.optidash.ai/introduction#choosing-response-method-and-format) on a per-request basis. By default, the Optidash API will return a [JSON response](https://docs.optidash.ai/responses/json-response-format) with rich metadata pertaining to input and output images. Alternatively, you can use [binary responses](https://docs.optidash.ai/responses/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
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
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](LICENSE) file for more information.