API-Dokumentation
Mit der YourImageShare-API kannst du Dateien per Code hochladen, auflisten und löschen. Es ist eine kleine JSON/REST-API – kein SDK nötig, nur ein HTTP-Client und ein API-Schlüssel. Offizielle JavaScript-, Python- und MCP-Bibliotheken gibt es auch.
Alle Client-Bibliotheken und die Tools unten sind Open Source. Den Code findest du in unserem offiziellen GitHub-Repository, dort kannst du auch Probleme melden oder mitmachen: github.com/yourimageshare/yourimageshare.
Basis-URL: https://yourimageshare.com/api · Format: JSON für Anfrage und Antwort, außer bei Uploads, die multipart/form-data nutzen · Authentifizierung: ein API-Schlüssel bei jeder Anfrage.
· Maschinenlesbare Spezifikation: /openapi.json (OpenAPI 3.1), für Agenten und Codegenerierungs-Tools,
die diese Seite lieber nicht auswerten möchten.
API-Schlüssel erhalten
Melde dich an, geh zu Mein Konto und öffne den Tab API. Dort siehst du deinen Schlüssel und einen Button Neu generieren. Wenn du einen Schlüssel neu generierst, wird der alte sofort ungültig – aktualisiere ihn also überall, wo du ihn verwendest, bevor du klickst.
In diesem Tab gibt es außerdem einen zweiten, unabhängigen Nur-Upload-Schlüssel – siehe den Tipp unten und Forum-Plugins, wann du ihn stattdessen verwenden solltest.
Authentifizierung
Sende deinen Schlüssel als Header – das ist die bevorzugte Variante, denn Query-Strings landen
gern in Zugriffs- und Proxy-Logs und in Referer-Headern:
X-API-Key: YOUR_API_KEY
Ein Query-Parameter ?key= funktioniert ebenfalls; er bleibt aus Kompatibilitätsgründen
für ältere Integrationen und schnelle einmalige curl-Befehle erhalten. Wenn beides
vorhanden ist, hat der Header Vorrang.
?key=YOUR_API_KEY
Tipp: Behandle deinen Schlüssel wie ein Passwort – wer ihn hat, kann in deinem Konto hochladen, auflisten, ändern und löschen. Jede erfolgreiche Anfrage wird protokolliert und im Tab API deiner Kontoseite als Diagramm angezeigt, aufgeschlüsselt nach Tag und Anfragetyp. Wenn ein Schlüssel an einem Ort liegen muss, wo ihn andere sehen können – ein Forum-Plugin, eine öffentliche Konfigurationsdatei –, nimm stattdessen den Nur-Upload-Schlüssel aus demselben Tab: Er kann nur hochladen – Auflisten, Abrufen, Ändern und Löschen werden mit einem 401 abgelehnt.
Endpunkte
Hochladen, Auflisten und Löschen nutzen dieselbe Authentifizierung und dieselben Limits; große Dateien kannst du vorab in Teilen senden.
POST /api – Datei hochladen
Lädt eine einzelne Datei für das authentifizierte Konto hoch.
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
uploads | file | eines dieser drei | Die hochzuladende Datei, bis zu 100MB (das Limit für eine einzelne Anfrage über unser Netzwerk). Eine Datei pro Anfrage – dieser Endpunkt lädt nicht mehrere Dateien gleichzeitig hoch. |
url | string | Ein öffentlicher http(s)-Link zu einem Bild oder Video. Wir laden die Datei selbst herunter, daher funktionieren Dateien bis 200MB. | |
upload_id | string | Eine Datei, die vorher in Teilen an POST /api/chunk gesendet wurde, bis 200MB. | |
filename | string | nein | Zusammen mit upload_id: der ursprüngliche Dateiname. |
expires_in | integer | nein | Diesen Upload nach so vielen Sekunden automatisch löschen (60 bis 31.536.000, also 1 Minute bis 1 Jahr). Weglassen für einen normalen, dauerhaften Upload. |
allow_duplicate | boolean | nein | Eine neue Kopie speichern, auch wenn dein Konto exakt dieselbe Datei schon hochgeladen hat (siehe duplicate unten). |
keep_original | boolean | nein | Das Bild genau so behalten, wie es hochgeladen wurde. Ohne diese Option werden JPG/PNG-Dateien über 1 MB zu WebP optimiert. Metadaten wie GPS werden in jedem Fall entfernt. |
visibility | string | nein | unlisted (Standard): Die Datei und ihre Seite funktionieren für alle mit dem Link, werden aber nirgends aufgelistet. private: nur die Datei – der Seitenlink leitet alle außer dir direkt zur Datei weiter (keine Kommentare, Reaktionen oder Werbung). public: auf der Website aufgelistet und indexierbar. |
title | string | nein | Bis zu 90 Zeichen, wird auf der Seite des Uploads angezeigt. |
description | string | nein | Bis zu 500 Zeichen. |
Erlaubte Typen: JPG, PNG, GIF, WEBP, AVIF, BMP, TIFF, HEIC oder HEIF-Bilder; MP4, WEBM oder AVI-Videos (die genaue Liste kann sich mit der Zeit erweitern). HEIC/HEIF und TIFF werden als WebP gespeichert, Videos außer MP4/WebM werden in MP4 umgewandelt, und größere JPEG/PNG-Bilder werden kurz nach dem Upload in WebP umgewandelt, wenn sie dadurch spürbar kleiner werden. Maximale Größe: 200MB; zu große oder nicht lesbare Dateien werden mit einem 422 abgelehnt.
Antwort – 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"
}
}
| Feld | Beschreibung |
|---|---|
id | Die eindeutige Kennung der Datei. |
type | image oder video. |
path | Die Speicher-URL der Datei, wie hochgeladen. Sie kann sich kurz danach ändern, wenn die Datei umgewandelt wird (WebP/MP4), daher: speichere src, nicht path. |
src | Dauerhafte direkte Datei-URL – öffnet immer die aktuelle Datei, geeignet für src bei <img>/<video> und zum Speichern. |
direct | Die Seite der Datei auf YourImageShare (Titel, Beschreibung, Kommentare, Teilen-Optionen). |
thumb | Eine 280px breite WebP-Vorschau (bei einem Video das erste Bild) oder null. |
width, height | Anzeigegröße in Pixeln (aufrecht; bei einem Video die Bildgröße) oder null, wenn unbekannt. |
size | Dateigröße in Bytes, wie gespeichert. |
locked | true, wenn der Upload passwortgeschützt ist. |
visibility | private, unlisted oder public (siehe Anfragefeld oben). |
title, description | Wie gesetzt oder null. Texte durchlaufen dieselbe Moderation wie auf der Website. |
delete_url | Nur bei neuen Uploads: ein privater Link, der diesen Upload ohne API-Schlüssel löscht. Wird nur einmal angezeigt (gespeichert wird nur ein Hash) – bewahre ihn auf, wenn du ihn brauchst. |
expires_at | ISO-8601-Zeitstempel, zu dem dieser Upload automatisch gelöscht wird, oder null, wenn er nicht abläuft. |
duplicate | true, wenn dein Konto exakt dieselbe Datei schon hochgeladen hatte: Dieser Upload wird zurückgegeben und nichts Neues gespeichert. Gilt nicht für ablaufende Uploads oder mit allow_duplicate=1. |
Ablaufende Uploads: Sobald expires_at erreicht ist, wird die Datei aus dem Speicher gelöscht und die Seite des Uploads liefert
innerhalb von etwa 5 Minuten 410 Gone. Das lässt sich nachträglich nicht rückgängig machen
oder verlängern – lösche früher mit dem DELETE-Endpunkt, wenn du die Datei eher entfernen willst, oder
lade sie mit einem neuen expires_in erneut hoch, wenn sie länger bestehen soll.
POST /api/chunk – Große Dateien
Eine einzelne Anfrage kann höchstens 100MB enthalten. Bei größeren Dateien (bis
200MB) oder um jede Anfrage bei einer langsamen
Verbindung klein zu halten, sendest du die Datei in Teilen von höchstens 5MB und schließt dann mit POST /api ab:
- Wähle eine Upload-ID: 32 zufällige Hex-Zeichen.
- Sende für jedes Teil
POST /api/chunk(multipart/form-data) mitupload_id,index(ab 0),total(Anzahl der Teile) und den Bytes inchunk. Die Antwort lautet{"type": "success", "chunk_size": 5242880}. - Sende
POST /apimitupload_idundfilenamestattuploads, plus beliebigen weiteren Upload-Feldern. Die Antwort ist die normale Upload-Antwort.
Teile eines nicht abgeschlossenen Uploads werden nach 2 Stunden gelöscht. Nur das
abschließende POST /api zählt für die Upload-Limits.
GET /api/{id} und PATCH /api/{id} – Ein Upload
GET gibt einen deiner Uploads mit denselben Feldern wie in der Liste unten zurück. PATCH ändert visibility, title oder description (Formularfelder oder JSON; ein leerer Titel oder eine leere Beschreibung löscht den Wert)
und antwortet mit dem aktualisierten Upload. Beides erfordert den vollständigen API-Schlüssel; 404, wenn
es in deinem Konto keinen solchen Upload gibt.
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 – Datei ersetzen
Tauscht die Datei hinter einem deiner Uploads aus und behält dessen ID, Seite und alle Links. Jeder erlaubte Typ funktioniert, auch ein
anderer (ein Bild kann zu einem Video werden). Sende die neue Datei als uploads (oder upload_id einer
Datei, die mit POST /api/chunk in Teilen gesendet wurde); keep_original funktioniert wie beim Upload. Die neue Datei durchläuft
dieselben Prüfungen und Umwandlungen wie ein neuer Upload, und die vorherige Version wird entfernt. Erfordert den vollständigen API-Schlüssel; 404, wenn es in deinem Konto keinen solchen Upload gibt, 409, wenn er passwortgeschützt oder auf eine bestimmte Anzahl Aufrufe begrenzt ist.
curl -X POST https://yourimageshare.com/api/aB3xY9qRz1/replace \
-H "X-API-Key: YOUR_API_KEY" -F [email protected]
GET /api – Deine Uploads auflisten
Gibt eine seitenweise Liste der Uploads des authentifizierten Kontos zurück (aus jeder Quelle – API, Website oder Editor), die neuesten zuerst, 50 pro Seite.
| Parameter | Ort | Erforderlich | Beschreibung |
|---|---|---|---|
page | query | nein | Seitenzahl, Standard ist 1. |
Antwort – 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 }
}
Die Felder bedeuten hier dasselbe wie in der Upload-Antwort
oben (bei einem passwortgeschützten Upload sind path und thumb kurzlebige, signierte Links). Einen eigenen Endpunkt, um „einen
Upload abzurufen“, gibt es noch nicht, daher ist diese Liste auch der Weg, um die id einer Datei nachträglich herauszufinden.
DELETE /api/{id} – Upload löschen
Löscht einen Upload des authentifizierten Kontos dauerhaft. Über die API lässt sich das nicht
rückgängig machen. {id} ist der Wert, der von den Endpunkten zum Hochladen oder Auflisten als id zurückgegeben wird.
Antwort – 200 OK:
{ "type": "success", "msg": "Deleted." }
404, wenn es in deinem Konto keinen Upload mit dieser ID gibt (entweder er
gehörte nie dir oder wurde bereits gelöscht).
Limits
Jeder API-Schlüssel hat eigene Kontingente pro Minute und pro Tag, dazu eine gröbere Tagesgrenze pro IP als Absicherung dagegen, dass eine IP mehrere Schlüssel durchwechselt. Hochladen, Auflisten und Löschen teilen sich dieselben Limits.
| Zeitraum | Standardlimit | Bezug |
|---|---|---|
| Pro Minute | 20 Anfragen | pro API-Schlüssel |
| Pro Tag | 500 Anfragen | pro vollständigem API-Schlüssel |
| Pro Tag | 2.000 Anfragen | pro Nur-Upload-Schlüssel (Plugins, die ganze Mediatheken auslagern) |
| Pro Tag | 2.000 Anfragen | pro IP-Adresse |
| Pro Minute | 300 Teile | pro API-Schlüssel, nur POST /api/chunk |
Diese Limits können sich ändern. Jede Antwort enthält die üblichen Rate-Limit-Header:
X-RateLimit-Limit: 20
X-RateLimit-Remaining: 14
Sobald ein Limit überschritten ist, kommt ein 429 zurück, mit einem Retry-After-Header, der dir sagt, wie viele Sekunden du warten musst.
Fehler
Jede Fehlerantwort hat dieselbe Form, unabhängig von Endpunkt oder Ursache:
{ "type": "error", "errors": "A human-readable description of what went wrong." }
| Status | Bedeutung |
|---|---|
| 401 | API-Schlüssel fehlt oder ist ungültig. |
| 403 | Das Konto oder deine aktuelle IP wurde vom Hochladen gesperrt. |
| 404 | Für diese ID wurde in diesem Konto kein passender Upload gefunden (Abrufen, Ändern, Löschen). |
| 413 | Die Anfrage ist größer als 100MB. Sende die Datei stattdessen in Teilen (POST /api/chunk) oder einen Link dazu in url (bis 200MB). |
| 422 | Validierungsfehler – keine Datei oder kein Link angegeben, nicht unterstützter Dateityp, nicht lesbare Bilddaten, Abmessungen über dem Limit von 30000x30000px, eine Datei über 200MB, eine unfertige oder abgelaufene upload_id oder eine url, die nicht heruntergeladen werden konnte (die Meldung nennt den Grund). |
| 429 | Limit überschritten – siehe Limits oben. |
| 500 | Auf dem Server ist unerwartet etwas fehlgeschlagen. Du kannst es bedenkenlos erneut versuchen. |
Client-Bibliotheken
Offizielle SDKs, die die obigen Endpunkte mit typisierten Ergebnissen kapseln und bei API-Fehlern eine Exception auslösen, statt dass du rohes HTTP behandeln musst.
JavaScript / TypeScript
Keine Abhängigkeiten, funktioniert in Node.js und im Browser. Auch auf JSR als @yourimageshare/yourimageshare – npx jsr add @yourimageshare/yourimageshare –
derselbe Quellcode, direkt als TypeScript veröffentlicht.
npm install yourimageshare
Python
Eine Abhängigkeit (requests), Python 3.8+.
pip install yourimageshare
PHP
Keine Composer-Abhängigkeiten (nutzt die PHP-eigene curl-Erweiterung), PHP 7.4+.
Quellcode auf GitHub.
composer require yourimageshare/yourimageshare-php
Go
Keine Abhängigkeiten (nur Standardbibliothek), Go 1.18+. Die vollständige Referenz findest du auf pkg.go.dev.
go get github.com/yourimageshare/yourimageshare/go
Rust
Zwei Abhängigkeiten (ureq für blockierendes HTTP – ohne Async-Runtime –
plus serde), Rust 1.70+. Quellcode auf GitHub.
cargo add yourimageshare
Ruby
Keine Gem-Abhängigkeiten (Stdlib Net::HTTP + json), Ruby 2.7+.
Quellcode auf GitHub.
gem install yourimageshare
.NET
Eine Abhängigkeit (Microsofts eigenes System.Text.Json), zielt auf netstandard2.0,
funktioniert also sowohl mit .NET Framework als auch mit modernem .NET. Quellcode auf GitHub.
Gegen diese Live-API gebaut und geprüft; die Veröffentlichung auf NuGet folgt in Kürze.
dotnet add package YourImageShare
Dart / Flutter
Eine Abhängigkeit (http, das eigene Paket des Dart-Teams), Dart 2.17+. Quellcode auf GitHub.
Gegen diese Live-API gebaut und geprüft; die Veröffentlichung auf pub.dev folgt in Kürze.
dart pub add yourimageshare
Elixir
Eine Abhängigkeit (Req), Elixir 1.14+. Gibt {:ok, result}| {:error, reason}-Tupel zurück – das direkte
Gegenstück zur Fehlerbehandlung dieser API in allen anderen SDKs – plus Bang-Varianten,
die eine Exception auslösen. Quellcode auf GitHub,
Doku auf HexDocs.
{:yourimageshare, "~> 1.1"}
MCP-Server
Für KI-Coding-Agenten (Claude Code, Cursor und andere MCP-kompatible
Tools) – füge einen Screenshot als echten Link in einen Bug-Report, eine PR-Beschreibung oder einen Support-Thread ein,
statt als Base64-Blob oder über einen manuellen Upload-Schritt. Funktioniert genauso mit Claude
Desktop und jedem anderen MCP-Client. Direkt mit npx starten, ganz ohne Installation:
npx yourimageshare-mcp
Tools: upload_image (eine lokale Datei, Inhalt direkt übergeben oder ein Link, bis 200MB, mit optionaler Sichtbarkeit, Titel und automatischem Löschen), list_uploads, get_upload, update_upload und delete_upload.
Auch in der offiziellen MCP Registry (als io.github.yourimageshare/yourimageshare) und bei Smithery und Glama gelistet, falls dein MCP-Client von dort installiert.
Neu bei MCP? In der Anleitung So verbindest du Claude und ChatGPT per MCP mit dieser API findest du eine vollständige Einrichtung Schritt für Schritt.
Alle zehn stehen unter der MIT-Lizenz. Keine offizielle Bibliothek für deine Sprache? Die Codebeispiele unten zeigen, wie du die API direkt aufrufst.
Codebeispiele
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)
Das offizielle Go-SDK oben übernimmt das für dich – diese Variante ohne SDK ist für alle gedacht, die die Abhängigkeit lieber nicht hinzufügen möchten.
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
}
Screenshot-Tools
Eine Browser-Erweiterung sowie fertige Konfigurationen und
Skripte, um Screenshots direkt an YourImageShare zu senden, ganz ohne manuelles Hochladen.
Jedes davon lädt über denselben /api-Endpunkt hoch, der oben
dokumentiert ist.
Browser-Erweiterung (Chrome & Firefox)
Die Erweiterung YourImageShare Capture für Chrome und Firefox kommt ganz ohne
Skripte und Konfigurationsdateien aus. Sie nimmt den sichtbaren Bereich, einen
per Ziehen markierten Ausschnitt oder eine ganze scrollende Seite auf, öffnet einen integrierten Editor für
Pfeile, Text, Weichzeichnen/Schwärzen und andere Anmerkungen und lädt das Ergebnis dann herunter,
kopiert es in die Zwischenablage oder veröffentlicht es mit einem Klick direkt auf YourImageShare.
Das Veröffentlichen nutzt denselben /api-Endpunkt, der oben dokumentiert ist
– trag deinen API-Schlüssel einmal in den Einstellungen der Erweiterung ein, und jede
Veröffentlichung liefert ab dann sofort einen teilbaren Link. Funktioniert in Chrome am PC
(und anderen Chromium-Browsern), Firefox am PC und Firefox für Android.
YourImageShare Capture für Firefox holen YourImageShare Capture für Chrome holen
ShareX
Lade den benutzerdefinierten Uploader unten herunter, geh dann in ShareX zu Destinations > Custom uploader settings > Import > from file,
öffne die heruntergeladene .sxcu-Datei und ersetze YOUR_API_KEY im Feld Headers durch deinen echten
Schlüssel. Lege sie als Ziel für Bilder/Dateien fest, und Aufnahmen werden automatisch hochgeladen.
YourImageShare.sxcu herunterladen
Löschen: Der „Delete“-Link von ShareX für jeden
Upload öffnet unsere Löschseite in deinem Browser (die einmalige delete_url des Uploads), sodass du eine Aufnahme direkt aus dem Verlauf von ShareX
entfernen kannst. Du kannst Uploads auch unter Mein Konto löschen.
Du hast die Konfiguration vor Oktober 2026 heruntergeladen? Lade sie erneut herunter, um das zu bekommen.
Flameshot (Linux)
Ein kleines Shell-Skript, das flameshot gui ausführt, die
Aufnahme hochlädt und den Link in die Zwischenablage kopiert. Leg es in deiner Desktop-Umgebung auf ein Tastenkürzel,
anstelle des Standardkürzels von Flameshot.
yis-flameshot-upload.sh herunterladen
# 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)
Ein PowerShell-Skript für das Ziel Externer Befehl von Greenshot. Kompatibel mit der Windows PowerShell 5.1, die bei Windows dabei ist, du musst nichts extra installieren.
yis-greenshot-upload.ps1 herunterladen
# 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"
Forum-Plugins
Füge neben dem Beitragseditor deines Forums einen echten Button „Bild hochladen“ hinzu.
Jedes Plugin lädt über denselben /api-Endpunkt hoch, der oben
dokumentiert ist, und fügt BBCode an deiner Cursorposition ein – kein separater Tab, kein
manuelles Kopieren und Einfügen.
Verwende unten deinen Nur-Upload-Schlüssel, nicht deinen API-Schlüssel. Jedes Plugin gibt den Schlüssel im Seitenquelltext jedes Besuchers aus, und der Nur-Upload-Schlüssel (Mein Konto > Tab API) kann nur hochladen – er kann deine Uploads weder auflisten noch löschen, selbst wenn ihn jemand aus der Seite herauskopiert.
Forum-Uploads sind standardmäßig private: Das Bild funktioniert im Beitrag,
aber YourImageShare legt dafür keine eigene Seite an (keine Kommentare, Reaktionen oder Werbung). Jedes
Plugin hat eine Einstellung, um auf unlisted umzustellen, wenn du auch eine Seite für
alle mit dem Link möchtest.
phpBB
Eine echte Erweiterung für phpBB 3.2/3.3. Entpacke sie in ext/, aktiviere sie
unter Anpassen > Erweiterungen verwalten und ersetze dann YOUR_UPLOAD_ONLY_KEY in der Template-Event-Datei der Erweiterung durch
deinen echten Nur-Upload-Schlüssel.
SMF (Simple Machines Forum)
Ein echtes SMF-Paket – installiere es über Admin > Paketverwaltung und ersetze dann YOUR_UPLOAD_ONLY_KEY in Sources/yis_forumupload.php durch deinen echten Nur-Upload-Schlüssel.
MyBB
Ein echtes Plugin für MyBB 1.8. Kopiere es nach inc/plugins/, aktiviere es unter Konfiguration > Plugins und ersetze dann YOUR_UPLOAD_ONLY_KEY in der Plugin-Datei durch deinen echten Nur-Upload-
Schlüssel.
FluxBB, PunBB & ZetaBoards
Diese haben kein offizielles Plugin-System, daher ist es ein kleines Snippet, das du direkt in dein Template (FluxBB/PunBB) oder in die Admin-Oberfläche (ZetaBoards) einfügst – eine vollständige Anleitung zum Kopieren und Einfügen für jedes:
Anleitung für FluxBB Anleitung für PunBB Anleitung für ZetaBoards
WordPress-Plugin
Lagere deine Mediathek auf YourImageShare aus, statt sie auf der
lokalen Festplatte zu halten. Neue Bild-/Video-Uploads laufen automatisch über denselben /api-
Endpunkt, der oben dokumentiert ist, die lokale Datei (und jede erzeugte
Vorschaugröße) wird gelöscht, sobald der Upload bestätigt ist, und jede WordPress-
Anhang-URL – im Block-Editor, bei Beitragsbildern, Galerien und in der REST-API – verweist
auf die bei YourImageShare gehostete Datei. Kein Shortcode, keine Änderung im Ablauf.
- Eine bestehende Mediathek im Hintergrund (oder mit
wp yis offload --all) komplett auslagern, nicht nur neue Uploads - Bilder und Videos, die schon in Beiträgen eingebunden sind, funktionieren weiter, nachdem ihre lokalen Dateien entfernt wurden
- Vorschaubilder und srcset nutzen unsere 280px-Vorschau, damit kleine Bildplätze keine Dateien in voller Größe laden
- Dateien bis 200MB, in Teilen gesendet, damit große Videos einen Shared-Hosting-Server nie überlasten
- Jede ausgelagerte Datei lässt sich jederzeit wieder lokal speichern
- Eine Spalte in der Mediathek zeigt, was ausgelagert und was noch lokal ist
- Ausgelagerte Dateien werden als private gespeichert: Sie laden überall dort, wo deine Website sie verwendet, bekommen aber keine eigene Seite auf YourImageShare
Nutzt deinen Nur-Upload-Schlüssel, nicht deinen API-Schlüssel. Der optionale vollständige API-Schlüssel wird nur gebraucht, wenn ausgelagerte Dateien auch bei YourImageShare gelöscht werden sollen, sobald du sie in WordPress löschst.
Auf WordPress.org holen ZIP herunterladen
In WordPress: Plugins > Installieren, nach YourImageShare Media Offload suchen, dann installieren und aktivieren.
Aus dem Blog
Anleitungen und Schritt-für-Schritt-Guides für Entwickler
- Screenshots sofort hochladen mit ShareX, Flameshot oder Greenshot
- Einen echten Button zum Bilder hochladen in dein phpBB-, SMF- oder MyBB-Forum einbauen
- MCP nutzen: Claude, ChatGPT und KI-Agenten mit YourImageShare verbinden
- YourImageShare Capture: Screenshot-Erweiterung für Chrome und Firefox
- Deine WordPress-Mediathek auf kostenlosen Bilderhoster auslagern
Bereit zum Ausprobieren?
Hol dir deinen API-Schlüssel →