API Reference and Developer Documentation
Image Type Conversion
Kraken.io API allows you to easily convert different images from one type/format to another. If, for example, you would like to turn you transparent PNG file into a JPEG with a grey background Kraken.io API has you covered. In order to convert between different image types you need to add an extra convert
object to you request JSON. This object takes three properties:
Mandatory Parameters: | |
format | The image format you wish to convert your image into. This can accept one of the following values: jpeg , png or gif . |
Optional Parameters: | |
background | Background image when converting from transparent file formats like PNG or GIF into fully opaque format like JPEG. The background property can be passed in HEX notation "#f60" or "#ff6600" , RGB "rgb(255, 0, 0)" or RGBA "rgba(91, 126, 156, 0.7)" . The default background color is white. |
keep_extension | A boolean value (true or false ) instructing Kraken.io API whether or not the original extension should be kept in the output filename. For example when converting "image.jpg" into PNG format with this flag turned on the output image name will still be "image.jpg" even though the image has been converted into a PNG. The default value is false meaning the correct extension will always be set. |
The above parameters must be passed in a convert
object:
{
"auth": {
"api_key": "your_api_key",
"api_secret": "your_api_secret"
},
"url": "https://example.com/image.png",
"wait": true,
"lossy": true,
"convert": {
"format": "jpeg",
"background": "#ff0000"
}
}
<?php
require_once("Kraken.php");
$kraken = new Kraken("your_api_key", "your_api_secret");
$params = array(
"url" => "https://example.com/image.png",
"wait" => true,
"lossy" => true,
"convert" => array(
"format" => "jpeg",
"background" => "#ff0000"
)
);
$data = $kraken->url($params);
if ($data["success"]) {
echo "Success. Optimized image URL: " . $data["kraked_url"];
} else {
echo "Fail. Error message: " . $data["message"];
}
var Kraken = require("kraken");
var kraken = new Kraken({
"api_key": "your_api_key",
"api_secret": "your_api_secret"
});
var params = {
url: "https://example.com/image.png",
wait: true,
lossy: true,
convert: {
format: "jpeg",
background: "#ff0000"
}
};
kraken.url(params, function(status) {
if (status.success) {
console.log("Success. Optimized image URL: %s", status.kraked_url);
} else {
console.log("Fail. Error message: %s", status.message);
}
});
require 'rubygems'
require 'kraken-io'
kraken = Kraken::API.new(
:api_key => 'your_api_key',
:api_secret => 'your_api_secret'
)
params = {
:wait => true,
:convert => {
'format': 'jpeg',
'background': '#ff0000'
}
}
data = kraken.url('https://example.com/image.png', params)
if data.success
puts 'Success! Optimized image URL: ' + data.kraked_url
else
puts 'Fail. Error message: ' + data.message
end
package main
import (
"log"
"github.com/kraken-io/kraken-go"
)
func main() {
kr, err := kraken.New("your_api_key", "your_api_secret")
if err != nil {
log.Fatal(err)
}
params := map[string]interface {} {
"wait": true,
"url": "https://example.com/image.png",
"convert": map[string]interface {} {
"format": "jpeg",
"background": "#ff0000"
}
}
data, err := kr.URL(params)
if err != nil {
log.Fatal(err)
}
if data["success"] != true {
log.Println("Failed, error message ", data["message"])
} else {
log.Println("Success, Optimized image URL: ", data["kraked_url"])
}
}
using Kraken;
using Kraken.Http;
using Kraken.Model;
var connection = Connection.Create("your_api_key", "your_api_secret");
var client = new Client(connection);
var response = client.OptimizeWait(
new OptimizeWaitRequest(new Uri("https://example.com/image.png"))
{
ConvertImage = new ConvertImage(ImageFormat.Jpeg)
{
BackgroundColor = "#ff0000"
}
}
);
if (response.Result.StatusCode == HttpStatusCode.OK) {
var url = response.Result.Body.KrakedUrl;
}
from krakenio import Client
api = Client('your_api_key', 'your_api_secret')
data = {
'wait': True,
'lossy': True,
'convert': {
'format': 'jpeg',
'background': '#ff0000'
}
}
result = api.url('https://example.com/image.png', data);
if result.get('success'):
print(result.get('kraked_url'))
else:
print(result.get('message'))