Надёжный хостинг картинок

Бесплатный хостинг изображений


API Документация для разработчиков

Доступные сервисы:
  1. Пример загрузки изображений
  2. Сервис Image
  3. Лимиты

На нашем сервисе также существует API для загрузки изображений.

Сервис в настоящее время поддерживает форматы JPEG, JPG, GIF, PNG размером до 10 мегабайт.

API позволяет загружать изображения, как для гостей, так и для зарегистрированных пользователей. Работа с API осуществляется при помощи отправки HTTP-запросов (метод POST) по адресу:

https://api.imageban.ru/v1

Сервер отвечает в формате JSON.

Для доступа к API вам необходимо получить ключи Client ID и Secret Key. Чтобы получить данные ключи перейдите в ваш профиль на сайте

(Скриншот) Пример:

Client ID - обязательный ключ для доступа к API. Позволяет загружать изображения в режиме незарегистрированного пользователя.

Secret Key - ключ для доступа к API с возможностью загрузки изображений в ваш аккаунт.

(не публикуйте ваш секретный ключ)

Авторизация:

Для авторизации доступа к API необходимо отправить заголовок:

Authorization: TOKEN {{ВАШ_CLIENT_ID}}

POST параметр для авторизации:

Параметр Необходимость Описание
secret_key Опционально Ваш Secret key необходим для загрузки изображений в ваш аккаунт на сайте


POST параметр для загрузки c URL:
Параметр Необходимость Описание
url Обязательно URL изображения


POST параметры для загрузки файла изображения:
Параметр Необходимость Описание
image Обязательно Двоичный файл или данные в base64
name Опционально Имя файла

В случае успешной загрузки вы получите ответ в формате JSON:

Пример ответа:

                
{
"data":{
 "date":"2016.11.22",
 "name":"f15f1afd0e36ba9b18abb006fd6ae76a.png",
 "server":"i5.imageban.ru",
 "img_name":"logo.png",
 "size":"11795",
 "res":"210x88",
 "link":"http:\/\/i5.imageban.ru\/out\/2016\/11\/22\/f15f1afd0e36ba9b18abb006fd6ae76a.png",
 "short_link":"http:\/\/ibn.im\/MT1rbzsPum"
},
"success":true,
"status":200
}
                
            

Возвращаемые данные:

Ключ Описание
date Дата загрузки
name Имя загруженного файла на сервер
server Имя сервера где расположено загруженное изображение
img_name Оригинальное имя файла
size Размер изображения в байтах
res Разрешение изображения
link Прямая ссылка на изображение
short_link Короткая ссылка на страницу с изображением
deletehash Хэш для удаления изображения загруженным неавторизованным пользователем

В случае ошибки вы получите ответ в формате JSON:

                
{
"error":{
 "code":"105",
 "message":"Invalid secret key"
}
}
                    
            

Возвращаемые данные:

Ключ Описание
code Код ответа
message Текст ошибки

Возвращаемые ошибки:

Код ошибки Текст ошибки Описание
100 Invalid client key Неверный Client Key
101 Image is larger Размер файла превышает максимально допустимый размер
102 No image data Нет данных изображения
103 Invalid image type Файл не является изображением
104 Image failed to upload Ошибка загрузки изображения
105 Invalid secret key Неверный Secret key
106 Wrong URL Неверный URL изображения
107 File reception error Ошибка при загрузки файла с URL
108 Limit of uploaded images from your IP is exceeded for guest Превышен суточный лимит загрузок для IP адреса
109 Exceeded the daily limit of uploaded images for your account Превышен суточный лимит загрузок для учетной записи

Пример загрузки файла изображения посредством cURL:

curl -H "Authorization: TOKEN {{ВАШ_CLIENT_ID}}" -F "image=@/tmp/server.png" https://api.imageban.ru/v1

Пример загрузки файла изображения в свой аккаунт посрдеством cURL:

curl -H "Authorization: TOKEN {{ВАШ_CLIENT_ID}}" -F "image=@/tmp/server.png" -F secret_key={{ВАШ_SECRET_KEY}} https://api.imageban.ru/v1

Пример загрузки изображения с URL в свой аккаунт посрдеством cURL:

curl -H "Authorization: TOKEN {{ВАШ_CLIENT_ID}}" -F "url=https://imageban.ru/template/img/logo.png" -F secret_key={{ВАШ_SECRET_KEY}} https://api.imageban.ru/v1


Пример #1 на PHP загрузка изображения с использованием base64 (server.php):

                
<?php
$filename = $_FILES['img']['tmp_name'];
$handle = fopen($filename, "r");
$data = fread($handle, filesize($filename));
$client_key="{{ВАШ_CLIENT_ID}}";
$pvars = array('name' => 'имя_файла.jpg', 'secret_key' => '{{ВАШ_SECRET_KEY}}', 'image' => base64_encode($data));
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://api.imageban.ru/v1');
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Authorization: TOKEN ' . $client_key));
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_SAFE_UPLOAD, false);
curl_setopt($curl, CURLOPT_POSTFIELDS, $pvars);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
$result = json_decode($result ,true);
var_dump($result);
?>
                    
            

HTML форма для загрузки:


<html>
 <head>
  <meta charset="utf-8">
 </head>
 <body>
  <form action="http://_ВАШ_ХОСТ_/server.php" enctype="multipart/form-data" method="post">
   <p><input type="file" name="img">
   <input type="submit" value="Отправить"></p>
  </form>
 </body>
</html>
                
            

Пример #2 загрузка файла изображения посредством cURL:

                
<?php
$file = realpath('/tmp/server.png');
$client_key="{{ВАШ_CLIENT_ID}}";
$pvars = array('name' => 'имя_файла.png', 'secret_key' => '{{ВАШ_SECRET_KEY}}', 'image' => '@'.$file);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://api.imageban.ru/v1');
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Authorization: TOKEN ' . $client_key));
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_SAFE_UPLOAD, false);
curl_setopt($curl, CURLOPT_POSTFIELDS, $pvars);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
$result = json_decode($result ,true);
var_dump($result);
?>
                    
            

Пример #3 загрузка изображения c URL:

                
<?php
$client_key="{{ВАШ_CLIENT_ID}}";
$pvars = array('secret_key' => '{{ВАШ_SECRET_KEY}}', 'url' => 'https://imageban.ru/template/img/logo.png');
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://api.imageban.ru/v1');
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Authorization: TOKEN ' . $client_key));
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_SAFE_UPLOAD, false);
curl_setopt($curl, CURLOPT_POSTFIELDS, $pvars);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
$result = json_decode($result ,true);
var_dump($result);
?>
                    
            

Пример #4 загрузка на HTML + JavaScript:


<!DOCTYPE html>
<meta charset="utf8">
<title>Uploader</title>
<div>Переместите<br><button onclick="document.querySelector('input').click()">Или выберите файл</button></div>
<input style="visibility: collapse; width: 0px;" type="file" onchange="upload(this.files[0])">
<script>
    window.ondragover = function(e) {e.preventDefault()}
    window.ondrop = function(e) {e.preventDefault(); upload(e.dataTransfer.files[0]); }
    function upload(file) {
        if (!file || !file.type.match(/image.*/)) return;
        document.body.className = "uploading";
        var fd = new FormData();
        fd.append("image", file);
        var xhr = new XMLHttpRequest();
        xhr.open("POST", "https://api.imageban.ru/v1");
        xhr.onload = function() {
            document.querySelector("#link").href = JSON.parse(xhr.responseText).data.link;
            document.body.className = "uploaded";
        }
        xhr.setRequestHeader('Authorization', 'TOKEN {{ВАШ_CLIENT_ID}}');
        xhr.send(fd);
    }
</script>


<style>
    body {text-align: center; padding-top: 100px;}
    div { border: 1px solid black; text-align: center; line-height: 200px; width: 300px; margin: auto; font-size: 40px; display: inline-block;}
    #link, p , div {display: none}
    div {display: inline-block;}
    .uploading div {display: none}
    .uploaded div {display: none}
    .uploading p {display: inline}
    .uploaded #link {display: inline}
    em {position: absolute; bottom: 0; right: 0}
</style>

<p>Загрузка...</p>
<a id="link">Ваша ссылка</a>
                
Ограничения использования API:

Для бесплатного использования API существуют ограничения для загрузок изображений в сутки:

  • Лимит загрузок неавторизованных пользователей составляет: 1000 изображений в сутки с одного IP адреса.
  • Лимит загрузок авторизованных пользователей составляет: 1500 изображений в сутки.


  • ImageBan.ru бесплатный сервис для публикации изображений на сайтах и форумах © 2009-2022 ImageBan Network. Связь info@imageban.ru Мы ВКонтакте
    Сайт о строительстве ремонте и интерьере квартир студия дизайна интерьера квартир.
    Get it on Google Play