Документация API
API YourImageShare позволяет загружать, просматривать и удалять файлы из кода. Это небольшой JSON/REST API: SDK не нужен, достаточно HTTP-клиента и API-ключа. Есть и официальные библиотеки для JavaScript, Python и MCP.
Все клиентские библиотеки и перечисленные ниже инструменты имеют открытый исходный код. Смотрите код, сообщайте о проблемах и участвуйте в разработке в нашем официальном репозитории на GitHub: github.com/yourimageshare/yourimageshare.
Базовый URL: https://yourimageshare.com/api · Формат: JSON на входе и выходе, кроме загрузок, которые идут как multipart/form-data · Авторизация: API-ключ в каждом запросе.
· Машиночитаемая спецификация: /openapi.json (OpenAPI 3.1) для агентов и генераторов кода,
которым не хочется разбирать эту страницу.
Как получить API-ключ
Войдите в аккаунт, откройте личный кабинет и перейдите на вкладку API. Там показан ваш ключ и есть кнопка Создать заново. После перегенерации старый ключ сразу перестаёт работать, поэтому сначала обновите его везде, где он используется.
На этой вкладке есть и второй, независимый ключ только для загрузки. О том, когда его использовать вместо основного, читайте в подсказке ниже и в разделе Плагины для форумов.
Аутентификация
Передавайте ключ в заголовке. Это предпочтительный способ, ведь строки запроса
часто попадают в журналы доступа, журналы прокси и заголовки Referer:
X-API-Key: YOUR_API_KEY
Параметр запроса ?key= тоже работает: он оставлен для совместимости
со старыми интеграциями и быстрых разовых команд curl. Если указаны оба
способа, приоритет у заголовка.
?key=YOUR_API_KEY
Совет: относитесь к ключу как к паролю: любой, у кого он есть, может загружать, просматривать, изменять и удалять файлы в вашем аккаунте. Каждый успешный запрос записывается, а на вкладке API в личном кабинете показан график по дням и типам запросов. Если ключ должен лежать там, где его могут увидеть другие, например в плагине форума или в публичном файле конфигурации, используйте вместо него ключ только для загрузки с той же вкладки: он умеет только загружать, а просмотр списка, получение данных, изменение и удаление с ним отклоняются с ошибкой 401.
Эндпоинты
Загрузка, просмотр списка и удаление используют одну и ту же аутентификацию и лимиты; большие файлы можно сначала отправить по частям.
POST /api: загрузка файла
Загружает один файл для авторизованного аккаунта.
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
uploads | файл | одно из трёх | Файл для загрузки, до 100 МБ (лимит одного запроса через нашу сеть). Один файл на запрос: этот эндпоинт не поддерживает пакетную загрузку нескольких файлов. |
url | строка | Публичная http(s)-ссылка на изображение или видео. Мы скачиваем файл сами, поэтому подходят файлы до 200 МБ. | |
upload_id | строка | Файл, заранее отправленный по частям через POST /api/chunk, до 200 МБ. | |
filename | строка | нет | Вместе с upload_id: исходное имя файла. |
expires_in | целое число | нет | Автоматически удалить загрузку через столько секунд (от 60 до 31 536 000, то есть от 1 минуты до 1 года). Если не указывать, загрузка обычная, постоянная. |
allow_duplicate | логическое | нет | Сохранить новую копию, даже если ваш аккаунт уже загружал точно такой же файл (см. duplicate ниже). |
keep_original | логическое | нет | Оставить изображение ровно таким, как оно загружено. Без этого параметра файлы JPG/PNG больше 1 МБ оптимизируются в WebP. Метаданные, например GPS, удаляются в любом случае. |
visibility | строка | нет | unlisted (по умолчанию): файл и его страница работают для всех, у кого есть ссылка, но нигде не показываются в списках. private: только файл, ссылка на страницу сразу перенаправляет всех, кроме вас, на сам файл (без комментариев, реакций и рекламы). public: показывается на сайте и индексируется. |
title | строка | нет | До 90 символов, показывается на странице загрузки. |
description | строка | нет | До 500 символов. |
Допустимые типы: изображения JPG, PNG, GIF, WEBP, AVIF, BMP, TIFF, HEIC или HEIF; видео MP4, WEBM или AVI (точный список может со временем расшириться). HEIC/HEIF и TIFF сохраняются как WebP, видео в форматах, отличных от MP4/WebM, конвертируется в MP4, а крупные изображения JPEG/PNG вскоре после загрузки конвертируются в WebP, если это заметно уменьшает их размер. Максимальный размер: 200 МБ; слишком большие или нечитаемые файлы отклоняются с ошибкой 422.
Ответ: 200 OK:
{
"type": "success",
"msg": "success",
"data": {
"id": "aB3xY9qRz1",
"type": "image",
"path": "https://i.yourimageshare.com/aB3xY9qRz1.png",
"src": "https://yourimageshare.com/ib/aB3xY9qRz1.png",
"direct": "https://yourimageshare.com/ib/aB3xY9qRz1",
"thumb": "https://i.yourimageshare.com/thumb-aB3xY9qRz1.webp",
"width": 1920,
"height": 1080,
"size": 482113,
"locked": false,
"visibility": "unlisted",
"title": null,
"description": null,
"expires_at": null,
"duplicate": false,
"delete_url": "https://yourimageshare.com/delete#iV3x...k9"
}
}
| Поле | Описание |
|---|---|
id | Уникальный идентификатор файла. |
type | image или video. |
path | Адрес файла в хранилище в том виде, в каком он загружен. Вскоре он может измениться из-за конвертации (WebP/MP4), поэтому сохраняйте src, а не path. |
src | Постоянная прямая ссылка на файл: всегда открывает актуальный файл, подходит для src в <img>/<video> и для сохранения. |
direct | Страница файла на YourImageShare (название, описание, комментарии, способы поделиться). |
thumb | Миниатюра WebP шириной 280px (для видео это первый кадр) или null. |
width, height | Отображаемый размер в пикселях (с учётом ориентации; для видео размер кадра) или null, если он неизвестен. |
size | Размер файла в байтах в том виде, в каком он хранится. |
locked | true, если загрузка защищена паролем. |
visibility | private, unlisted или public (см. поле запроса выше). |
title, description | Как заданы, или null. Текст проходит ту же модерацию, что и на сайте. |
delete_url | Только для новых загрузок: личная ссылка, по которой можно удалить эту загрузку без API-ключа. Показывается один раз (хранится только хеш), так что сохраните её, если она нужна. |
expires_at | Время автоматического удаления загрузки в формате ISO 8601 или null, если срок не задан. |
duplicate | true, если ваш аккаунт уже загружал точно такой же файл: возвращается та загрузка, а новая не сохраняется. Не применяется к загрузкам со сроком действия и при allow_duplicate=1. |
Загрузки со сроком действия: когда наступает expires_at,
файл удаляется из хранилища, а страница загрузки примерно через 5 минут
начинает отвечать 410 Gone. Это нельзя отменить
или продлить: если нужно удалить файл раньше, используйте эндпоинт DELETE, а если нужно, чтобы он жил дольше,
загрузите его заново с новым expires_in.
POST /api/chunk: большие файлы
Один запрос может нести не более 100 МБ. Для файлов побольше (до
200 МБ) или чтобы запросы оставались небольшими при медленном
соединении, отправляйте файл частями не более 5 МБ, а затем завершите загрузку запросом POST /api:
- Выберите идентификатор загрузки: 32 случайных шестнадцатеричных символа.
- Для каждой части отправьте
POST /api/chunk(multipart/form-data) сupload_id,index(с нуля),total(число частей) и байтами вchunk. Ответ:{"type": "success", "chunk_size": 5242880}. - Отправьте
POST /apiсupload_idиfilenameвместоuploads, а также с любыми другими полями загрузки. Ответ такой же, как при обычной загрузке.
Части незавершённой загрузки удаляются через 2 часа. К лимитам загрузки относится только
завершающий POST /api.
GET /api/{id} и PATCH /api/{id}: одна загрузка
GET возвращает одну из ваших загрузок с теми же полями, что и в списке ниже. PATCH меняет её visibility, title или description (поля формы или JSON; пустое название или описание очищает значение)
и возвращает обновлённую загрузку. Для обоих нужен полный API-ключ; если такой загрузки
в вашем аккаунте нет, вернётся 404.
curl -X PATCH https://yourimageshare.com/api/aB3xY9qRz1 \
-H "X-API-Key: YOUR_API_KEY" -d visibility=public -d title="Sunset"
POST /api/{id}/replace: замена файла
Подменяет файл в одной из ваших загрузок, сохраняя её id, страницу и все ссылки. Подойдёт любой допустимый тип, даже
другой (изображение может стать видео). Отправьте новый файл как uploads (или upload_id файла,
отправленного по частям через POST /api/chunk); keep_original работает так же, как при загрузке. Новый файл проходит
те же проверки и конвертации, что и новая загрузка, а предыдущая версия удаляется. Нужен полный API-ключ; 404, если такой загрузки в вашем аккаунте нет, и 409, если она защищена паролем или ограничена по просмотрам.
curl -X POST https://yourimageshare.com/api/aB3xY9qRz1/replace \
-H "X-API-Key: YOUR_API_KEY" -F [email protected]
GET /api: список ваших загрузок
Возвращает постраничный список загрузок авторизованного аккаунта (из любого источника: API, сайт или редактор), сначала новые, по 50 на страницу.
| Параметр | Где | Обязательный | Описание |
|---|---|---|---|
page | query | нет | Номер страницы, по умолчанию 1. |
Ответ: 200 OK:
{
"type": "success",
"data": [
{
"id": "aB3xY9qRz1",
"type": "image",
"title": null,
"path": "https://i.yourimageshare.com/aB3xY9qRz1.webp",
"src": "https://yourimageshare.com/ib/aB3xY9qRz1.webp",
"direct": "https://yourimageshare.com/ib/aB3xY9qRz1",
"thumb": "https://i.yourimageshare.com/thumb-aB3xY9qRz1.webp",
"width": 1920,
"height": 1080,
"size": 482113,
"locked": false,
"visibility": "unlisted",
"description": null,
"expires_at": null,
"created_at": "2026-07-23T15:43:28+01:00"
}
],
"meta": { "current_page": 1, "last_page": 1, "total": 1 }
}
Поля здесь означают то же, что и в ответе на загрузку
выше (для загрузки, защищённой паролем, path и thumb это недолговечные подписанные ссылки). Отдельного эндпоинта «получить одну
загрузку» пока нет, поэтому этот список также позволяет потом найти id файла.
DELETE /api/{id}: удаление загрузки
Безвозвратно удаляет одну из загрузок авторизованного аккаунта. Через API это нельзя
отменить. {id} — значение, которое возвращается как id в эндпоинтах загрузки и списка.
Ответ: 200 OK:
{ "type": "success", "msg": "Deleted." }
404, если в вашем аккаунте нет загрузки с таким id (она либо
никогда вам не принадлежала, либо уже удалена).
Лимиты запросов
У каждого API-ключа есть независимые квоты в минуту и в сутки, а также более грубый суточный потолок на IP-адрес — защита от случая, когда один IP перебирает несколько ключей. Загрузки, списки и удаления используют общие лимиты.
| Период | Лимит по умолчанию | Область действия |
|---|---|---|
| В минуту | 20 запросов | на API-ключ |
| В сутки | 500 запросов | на полный API-ключ |
| В сутки | 2000 запросов | на ключ только для загрузки (плагины, переносящие целые медиатеки) |
| В сутки | 2000 запросов | на IP-адрес |
| В минуту | 300 частей | на API-ключ, только POST /api/chunk |
Эти лимиты могут меняться. Каждый ответ содержит стандартные заголовки лимитов:
X-RateLimit-Limit: 20
X-RateLimit-Remaining: 14
При превышении лимита возвращается 429 с заголовком Retry-After, в котором указано, сколько секунд нужно подождать.
Ошибки
Все ответы с ошибкой имеют одинаковый вид независимо от эндпоинта и причины:
{ "type": "error", "errors": "A human-readable description of what went wrong." }
| Статус | Значение |
|---|---|
| 401 | API-ключ отсутствует или недействителен. |
| 403 | Аккаунту или вашему текущему IP запрещена загрузка. |
| 404 | В этом аккаунте нет загрузки с таким id (получение, изменение, удаление). |
| 413 | Запрос больше 100 МБ. Отправьте файл по частям (POST /api/chunk) или передайте ссылку на него в url (до 200 МБ). |
| 422 | Ошибка проверки: не указан файл или ссылка, неподдерживаемый тип файла, нечитаемые данные изображения, размеры больше лимита 30000x30000px, файл больше 200 МБ, незавершённый или просроченный upload_id либо url, который не удалось скачать (в сообщении указана причина). |
| 429 | Превышен лимит запросов, см. Лимиты запросов выше. |
| 500 | Непредвиденный сбой на стороне сервера. Запрос можно безопасно повторить. |
Клиентские библиотеки
Официальные SDK, которые оборачивают описанные выше эндпоинты, возвращают типизированные результаты и выбрасывают исключения при ошибках API, избавляя вас от работы с «сырым» HTTP.
JavaScript / TypeScript
Без зависимостей, работает в Node.js и браузерах. Также есть в JSR как @yourimageshare/yourimageshare — npx jsr add @yourimageshare/yourimageshare —
тот же исходный код, опубликованный сразу как TypeScript.
npm install yourimageshare
Python
Одна зависимость (requests), Python 3.8+.
pip install yourimageshare
PHP
Без зависимостей Composer (используется собственное расширение curl в PHP), PHP 7.4+.
Исходный код на GitHub.
composer require yourimageshare/yourimageshare-php
Go
Без зависимостей (только стандартная библиотека), Go 1.18+. Полную справку смотрите на pkg.go.dev.
go get github.com/yourimageshare/yourimageshare/go
Rust
Две зависимости (ureq для блокирующего HTTP, без асинхронной среды выполнения,
и serde), Rust 1.70+. Исходный код на GitHub.
cargo add yourimageshare
Ruby
Без зависимостей от гемов (стандартные Net::HTTP и json), Ruby 2.7+.
Исходный код на GitHub.
gem install yourimageshare
.NET
Одна зависимость (собственный пакет Microsoft System.Text.Json), целевая платформа netstandard2.0,
поэтому работает и в .NET Framework, и в современном .NET. Исходный код на GitHub.
Собрано и проверено на этом действующем API; публикация в NuGet скоро.
dotnet add package YourImageShare
Dart / Flutter
Одна зависимость (http, пакет от самой команды Dart), Dart 2.17+. Исходный код на GitHub.
Собрано и проверено на этом действующем API; публикация на pub.dev скоро.
dart pub add yourimageshare
Elixir
Одна зависимость (Req), Elixir 1.14+. Возвращает
кортежи {:ok, result}| {:error, reason} — прямой аналог
обработки ошибок этого API в остальных SDK — а также варианты с восклицательным знаком,
которые выбрасывают исключения. Исходный код на GitHub,
документация на HexDocs.
{:yourimageshare, "~> 1.1"}
MCP-сервер
Для ИИ-агентов, пишущих код (Claude Code, Cursor и другие инструменты, совместимые с MCP): вставляйте скриншот в отчёт об ошибке, описание PR или обращение в поддержку
в виде обычной ссылки, а не base64-блока или ручной загрузки. Так же работает с Claude
Desktop и любым другим MCP-клиентом. Запускается напрямую через npx, без установки:
npx yourimageshare-mcp
Инструменты: upload_image (локальный файл, встроенное содержимое или ссылка, до 200 МБ, с необязательными параметрами видимости, названия и автоудаления), list_uploads, get_upload, update_upload и delete_upload.
Также доступен в официальном реестре MCP (как io.github.yourimageshare/yourimageshare) и в каталогах Smithery и Glama, если ваш MCP-клиент устанавливает серверы оттуда.
Впервые слышите про MCP? Подробную инструкцию по настройке смотрите в статье как подключить Claude и ChatGPT к этому API через MCP.
Все десять распространяются по лицензии MIT. Нет официальной библиотеки для вашего языка? В примерах кода ниже показано, как вызывать API напрямую.
Примеры кода
curl
# Upload a file
curl "https://yourimageshare.com/api" \
-H "X-API-Key: YOUR_API_KEY" \
-F "uploads=@/path/to/photo.jpg"
# Upload from a link (files up to 200MB; one direct upload request stops at 100MB -
# bigger files go in pieces, see Large Files above)
curl "https://yourimageshare.com/api" \
-H "X-API-Key: YOUR_API_KEY" \
-F "url=https://example.com/video.mp4"
# Upload a file that auto-deletes after 1 hour
curl "https://yourimageshare.com/api" \
-H "X-API-Key: YOUR_API_KEY" \
-F "uploads=@/path/to/photo.jpg" \
-F "expires_in=3600"
# List uploads
curl "https://yourimageshare.com/api" -H "X-API-Key: YOUR_API_KEY"
# Upload a file without a page of its own (file only) and give it a title
curl "https://yourimageshare.com/api" \
-H "X-API-Key: YOUR_API_KEY" \
-F "uploads=@/path/to/photo.jpg" \
-F "visibility=private" \
-F "title=Sunset"
# Look up one upload, then make it public
curl "https://yourimageshare.com/api/aB3xY9qRz1" -H "X-API-Key: YOUR_API_KEY"
curl -X PATCH "https://yourimageshare.com/api/aB3xY9qRz1" \
-H "X-API-Key: YOUR_API_KEY" -d "visibility=public"
# Delete an upload
curl -X DELETE "https://yourimageshare.com/api/aB3xY9qRz1" -H "X-API-Key: YOUR_API_KEY"
JavaScript (fetch)
const API_KEY = 'YOUR_API_KEY';
const BASE = 'https://yourimageshare.com/api';
async function uploadFile(file) {
const form = new FormData();
form.append('uploads', file);
const res = await fetch(BASE, {
method: 'POST',
headers: { 'X-API-Key': API_KEY },
body: form,
});
const json = await res.json();
if (json.type !== 'success') throw new Error(json.errors);
return json.data;
}
async function listUploads(page = 1) {
const res = await fetch(`${BASE}?page=${page}`, {
headers: { 'X-API-Key': API_KEY },
});
return res.json();
}
async function deleteUpload(id) {
const res = await fetch(`${BASE}/${id}`, {
method: 'DELETE',
headers: { 'X-API-Key': API_KEY },
});
return res.json();
}
Python (requests)
import requests
API_KEY = "YOUR_API_KEY"
BASE = "https://yourimageshare.com/api"
HEADERS = {"X-API-Key": API_KEY}
# Upload a file
with open("/path/to/photo.jpg", "rb") as f:
res = requests.post(BASE, headers=HEADERS, files={"uploads": f})
res.raise_for_status()
upload = res.json()["data"]
# List uploads
res = requests.get(BASE, headers=HEADERS, params={"page": 1})
uploads = res.json()
# Delete an upload
res = requests.delete(f"{BASE}/{upload['id']}", headers=HEADERS)
PHP (curl)
<?php
$apiKey = 'YOUR_API_KEY';
$base = 'https://yourimageshare.com/api';
// Upload a file
$curl = curl_init($base);
curl_setopt_array($curl, [
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => ["X-API-Key: $apiKey"],
CURLOPT_POSTFIELDS => ['uploads' => new CURLFile('/path/to/photo.jpg')],
CURLOPT_RETURNTRANSFER => true,
]);
$upload = json_decode(curl_exec($curl), true)['data'];
curl_close($curl);
// List uploads
$curl = curl_init("$base?page=1");
curl_setopt($curl, CURLOPT_HTTPHEADER, ["X-API-Key: $apiKey"]);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$uploads = json_decode(curl_exec($curl), true);
curl_close($curl);
Go (net/http)
Официальный Go SDK выше делает всё это за вас — этот «сырой» вариант приведён для тех, кто не хочет добавлять зависимость.
package main
import (
"bytes"
"encoding/json"
"io"
"mime/multipart"
"net/http"
"os"
)
const apiKey = "YOUR_API_KEY"
const base = "https://yourimageshare.com/api"
func uploadFile(path string) (map[string]any, error) {
file, err := os.Open(path)
if err != nil {
return nil, err
}
defer file.Close()
body := &bytes.Buffer{}
writer := multipart.NewWriter(body)
part, _ := writer.CreateFormFile("uploads", path)
io.Copy(part, file)
writer.Close()
req, _ := http.NewRequest("POST", base, body)
req.Header.Set("Content-Type", writer.FormDataContentType())
req.Header.Set("X-API-Key", apiKey)
res, err := http.DefaultClient.Do(req)
if err != nil {
return nil, err
}
defer res.Body.Close()
var result map[string]any
json.NewDecoder(res.Body).Decode(&result)
return result, nil
}
Инструменты для скриншотов
Расширение для браузера, а также готовые конфиги и
скрипты, которые отправляют скриншоты прямо на YourImageShare без ручной
загрузки. Каждый из них загружает файлы через тот же эндпоинт /api,
что описан выше.
Расширение для браузера (Chrome и Firefox)
Расширение YourImageShare Capture для Chrome и Firefox обходится
без скриптов и файлов конфигурации. Оно снимает видимую область, выделенный
мышью фрагмент или всю прокручиваемую страницу, открывает встроенный редактор со
стрелками, текстом, размытием/скрытием и другими аннотациями, а затем скачивает результат,
копирует его в буфер обмена или публикует прямо на YourImageShare
одним щелчком. Публикация использует тот же эндпоинт /api, что описан
выше: один раз добавьте API-ключ в настройках расширения, и каждая
следующая публикация сразу выдаёт ссылку, которой можно поделиться. Работает в
Chrome для компьютера (и других браузерах на Chromium), Firefox для компьютера и Firefox для Android.
Установить YourImageShare Capture для Firefox Установить YourImageShare Capture для Chrome
ShareX
Скачайте пользовательский загрузчик ниже, затем в ShareX откройте Destinations > Custom uploader settings > Import > from file,
выберите скачанный файл .sxcu и замените YOUR_API_KEY в поле Headers своим настоящим
ключом. Назначьте его местом загрузки изображений/файлов, и снимки будут загружаться автоматически.
Удаление: ссылка «Delete» для каждой
загрузки в ShareX открывает в браузере нашу страницу удаления (одноразовый delete_url загрузки), так что снимок можно удалить прямо из истории
ShareX. Загрузки также можно удалить в личном кабинете.
Скачали конфиг до октября 2026 года? Скачайте его заново, чтобы получить эту возможность.
Flameshot (Linux)
Небольшой shell-скрипт, который запускает flameshot gui, загружает
снимок и копирует ссылку в буфер обмена. Привяжите его к сочетанию клавиш
в вашем окружении рабочего стола вместо стандартного сочетания Flameshot.
Скачать yis-flameshot-upload.sh
# One-time setup
chmod +x yis-flameshot-upload.sh
export YIS_API_KEY="YOUR_API_KEY" # or add to ~/.config/yourimageshare/api_key
# Then bind this to a hotkey instead of calling flameshot directly:
/path/to/yis-flameshot-upload.sh
Greenshot (Windows)
Скрипт PowerShell для встроенного места назначения Greenshot External command. Совместим с Windows PowerShell 5.1, который входит в состав Windows, дополнительная установка не нужна.
Скачать yis-greenshot-upload.ps1
# One-time setup
setx YIS_API_KEY "YOUR_API_KEY"
# In Greenshot: Preferences > Destinations > External command > Settings
# Command: powershell.exe
# Arguments: -ExecutionPolicy Bypass -File "C:\path\to\yis-greenshot-upload.ps1" "%1"
Плагины для форумов
Добавьте настоящую кнопку «Загрузить изображение» рядом с редактором
сообщений на вашем форуме. Каждый плагин загружает файлы через тот же эндпоинт /api,
что описан выше, и вставляет BBCode в позицию курсора: без отдельной вкладки и
ручного копирования.
В плагинах ниже используйте ключ только для загрузки, а не основной API-ключ. Каждый плагин выводит ключ в исходном коде страницы для всех посетителей, а ключ только для загрузки (личный кабинет > вкладка API) умеет только загружать: даже если кто-то скопирует его со страницы, он не сможет просматривать или удалять ваши загрузки.
Загрузки с форума по умолчанию приватные: изображение работает в сообщении,
но YourImageShare не создаёт для него отдельную страницу (без комментариев, реакций и рекламы). В каждом
плагине есть настройка переключения на unlisted, если вам нужна ещё и страница для
всех, у кого есть ссылка.
phpBB
Полноценное расширение для phpBB 3.2/3.3. Распакуйте в ext/, включите его
в разделе Customise > Manage extensions, затем замените YOUR_UPLOAD_ONLY_KEY в файле событий шаблона расширения своим
настоящим ключом только для загрузки.
SMF (Simple Machines Forum)
Полноценный пакет для SMF: установите его через Admin > Package Manager,
затем замените YOUR_UPLOAD_ONLY_KEY в Sources/yis_forumupload.php своим настоящим ключом только для загрузки.
MyBB
Полноценный плагин для MyBB 1.8. Скопируйте в inc/plugins/, активируйте в разделе Configuration > Plugins, затем замените YOUR_UPLOAD_ONLY_KEY в файле плагина своим настоящим ключом
только для загрузки.
FluxBB, PunBB и ZetaBoards
В них нет формальной системы плагинов, поэтому это небольшой фрагмент кода, который вставляется прямо в шаблон (FluxBB/PunBB) или в панель администратора (ZetaBoards). Подробные инструкции для каждого:
Инструкция для FluxBB Инструкция для PunBB Инструкция для ZetaBoards
Плагин для WordPress
Переносите медиатеку на YourImageShare вместо
локального диска. Новые изображения и видео автоматически загружаются через тот же эндпоинт /api,
что описан выше, локальный файл (и все сгенерированные
размеры миниатюр) удаляется после подтверждения загрузки, а все адреса
вложений WordPress — в блочном редакторе, миниатюрах записей, галереях, REST API — ведут
на файл, размещённый на YourImageShare. Без шорткодов и изменений в привычной работе.
- Массовый перенос уже существующей медиатеки в фоновом режиме (или командой
wp yis offload --all), а не только новых загрузок - Изображения и видео, уже вставленные в записи, продолжают работать после удаления локальных файлов
- Миниатюры и srcset используют нашу миниатюру шириной 280px, поэтому в небольших блоках не загружаются файлы полного размера
- Файлы до 200 МБ отправляются по частям, так что большие видео не перегружают виртуальный хостинг
- Любой перенесённый файл можно в любой момент вернуть в локальное хранилище
- Столбец в медиатеке показывает, что перенесено, а что ещё хранится локально
- Перенесённые файлы хранятся как приватные: они загружаются везде, где их использует ваш сайт, но не получают собственной страницы на YourImageShare
Используется ключ только для загрузки, а не основной API-ключ. Необязательный полный API-ключ нужен лишь в том случае, если вы хотите, чтобы перенесённые файлы удалялись с YourImageShare, когда вы удаляете их в WordPress.
Получить на WordPress.org Скачать ZIP
В WordPress: Плагины > Добавить новый, найдите YourImageShare Media Offload, затем нажмите «Установить» и «Активировать».
Из блога
Руководства и инструкции для разработчиков
- Мгновенная загрузка скриншотов с помощью ShareX, Flameshot или Greenshot
- Добавьте настоящую кнопку загрузки изображений на форум phpBB, SMF или MyBB
- Как использовать MCP: подключите Claude, ChatGPT и ИИ-агентов к YourImageShare
- YourImageShare Capture: расширение для скриншотов в Chrome и Firefox
- Перенесите медиатеку WordPress на бесплатный хостинг изображений
Хотите попробовать?
Получить API-ключ →