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

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


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

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

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

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

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

https://api.imageban.ru/v1

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

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

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

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

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

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

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

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

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


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


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


Загрузка изображений.


POST https://api.imageban.ru/v1

Описание: загрузка изображения с URL или файла

Заголовок:
Authorization TOKEN {CLIENT_ID} (для загрузки изображения неавторизованного пользователя) или
Authorization Bearer {SECRET_KEY} (для загрузки изображения авторизованного пользователя)

Тело formdata
image или url Для image (Двоичный файл или данные в base64) для url указывается ссылка на изображение (Обязательный параметр)
name Имя файла
album ID альбома в который загружается изображение (доступно только для авторизованных пользователей)

Пример #1: загрузка файла изображения (неавторизованного пользователя):
curl --location 'https://api.imageban.ru/v1' \
--header 'Authorization: TOKEN {CLIENT_ID}' \
--form 'image=@/tmp/logo.png'
Пример #2: загрузка файла изображения (авторизованного пользователя):
curl --location 'https://api.imageban.ru/v1' \
--header 'Authorization: Bearer {SECRET_KEY}' \
--form 'image=@/tmp/logo.png'
Пример #3: загрузка изображения c URL (авторизованного пользователя):
curl --location 'https://api.imageban.ru/v1' \
--header 'Authorization: Bearer {SECRET_KEY}' \
--form 'url=https://imageban.ru/template/img/logo.png'
Пример #4: загрузка изображения c URL (авторизованного пользователя) в альбом с ID srXiv43:
curl --location 'https://api.imageban.ru/v1' \
--header 'Authorization: Bearer {SECRET_KEY}' \
--form 'url=https://imageban.ru/template/img/logo.png' \
--form 'album=srXiv43'
Ответ:
{
    "data": [
        {
            "id": "JTXBeN4",
            "date": "2022.07.13",
            "name": "8b2313babd49d05ff36b8165845fc615.jpeg",
            "server": "i5.imageban.ru",
            "views": "0",
            "description": "",
            "img_name": "logo.png",
            "favorite": false,
            "size": "355593",
            "resolution": "2000x3234",
            "link": "https://i5.imageban.ru/out/2022/07/13/8b2313babd49d05ff36b8165845fc615.jpeg",
            "short_link": "http://ibn.im/i/JTXBeN4"
        }
    ],
    "success": true,
    "status": 200
}
                    

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

Ключ Формат Описание
id string id изображения
date string Дата загрузки
name string Имя загруженного файла на сервер
server string Имя сервера где расположено загруженное изображение
views integer Количество просмотров изображения
description string Описание к изображению (комментарий)
img_name string Оригинальное имя файла
favorite boolean Указывает добавлено ли изображение в избранное
size integer Размер изображения в байтах
resolution string Разрешение изображения
link string Прямая ссылка на изображение
short_link string Короткая ссылка на страницу с изображением
delete_hash string Хэш для удаления изображения загруженным неавторизованным пользователем

В случае ошибки вы получите ответ в формате 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 Превышен суточный лимит загрузок для учетной записи
110 No auth data Нет данных для авторизации

Пример #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', '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 на PHP, загрузка файла изображения посредством cURL:

                
<?php
$file = realpath('/tmp/server.png');
$client_key="{CLIENT_ID}";
$pvars = array('name' => 'имя_файла.png', '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 на PHP, загрузка изображения c URL:

                
<?php
$client_key="{CLIENT_ID}";
$pvars = array('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 изображений в сутки.
  • Лимит загрузок авторизованных пользователей составляет: 1500 изображений в сутки.


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