API-documentatie

Met de YourImageShare API kun je bestanden programmatisch uploaden, opvragen en verwijderen. Het is een kleine JSON/REST-API: je hebt geen SDK nodig, alleen een HTTP-client en een API-sleutel. Er zijn ook officiële JavaScript-, Python- en MCP-bibliotheken.

Alle clientbibliotheken en onderstaande tools zijn open source. Bekijk de code, meld problemen of draag bij op onze officiële GitHub-repository: github.com/yourimageshare/yourimageshare.

Basis-URL: https://yourimageshare.com/api · Formaat: JSON in en uit, behalve uploads, die multipart/form-data gebruiken · Authenticatie: een API-sleutel bij elk verzoek. · Machineleesbare specificatie: /openapi.json (OpenAPI 3.1), voor agents en codegeneratietools die deze pagina liever niet parsen.

Een API-sleutel krijgen

Log in, ga naar Mijn account en open het tabblad API. Daar staat je sleutel, met een knop Opnieuw genereren. Als je een sleutel opnieuw genereert, werkt de oude meteen niet meer. Werk hem dus overal bij waar je hem gebruikt voordat je klikt.

Op dat tabblad staat ook een tweede, onafhankelijke sleutel alleen voor uploads. Zie de tip hieronder en Forumplugins voor wanneer je die gebruikt.

Authenticatie

Stuur je sleutel mee als header. Dat heeft de voorkeur, omdat querystrings vaak in toegangslogs, proxylogs en Referer-headers terechtkomen:

X-API-Key: YOUR_API_KEY

Een queryparameter ?key= werkt ook; die blijft bestaan voor oudere integraties en snelle curl-opdrachten. Als beide aanwezig zijn, wint de header.

?key=YOUR_API_KEY

Tip: Behandel je sleutel als een wachtwoord: wie hem heeft, kan uploaden, opvragen, wijzigen en verwijderen op jouw account. Elk geslaagd verzoek wordt gelogd en is zichtbaar als grafiek op het tabblad API van je accountpagina, per dag en per soort verzoek. Moet een sleutel ergens staan waar anderen hem kunnen zien, zoals in een forumplugin of een openbaar configuratiebestand? Gebruik dan de sleutel alleen voor uploads van hetzelfde tabblad: daarmee kun je alleen uploaden. Opvragen, opzoeken, wijzigen en verwijderen worden met een 401 geweigerd.

Endpoints

Uploaden, opvragen en verwijderen delen dezelfde authenticatie en limieten. Grote bestanden kun je eerst in delen versturen.

POST /api - Een bestand uploaden

Uploadt één bestand voor het geauthenticeerde account.

VeldTypeVerplichtBeschrijving
uploadsbestandeen van deze drieHet bestand dat je uploadt, tot 100MB (de limiet voor één verzoek via ons netwerk). Eén bestand per verzoek: dit endpoint ondersteunt geen batch-upload van meerdere bestanden.
urlstringEen openbare http(s)-link naar een afbeelding of video. Wij downloaden het zelf, dus bestanden tot 200MB werken.
upload_idstringEen bestand dat je eerder in delen naar POST /api/chunk hebt gestuurd, tot 200MB.
filenamestringneeSamen met upload_id: de oorspronkelijke bestandsnaam.
expires_inintegerneeVerwijder deze upload automatisch na dit aantal seconden (60 tot 31.536.000, dus 1 minuut tot 1 jaar). Laat weg voor een gewone, permanente upload.
allow_duplicatebooleanneeSla een nieuwe kopie op, ook als je account exact hetzelfde bestand al heeft geüpload (zie duplicate hieronder).
keep_originalbooleanneeBewaar de afbeelding precies zoals geüpload. Zonder deze optie worden JPG/PNG-bestanden boven 1 MB geoptimaliseerd naar WebP. Metadata zoals GPS wordt in beide gevallen verwijderd.
visibilitystringneeunlisted (standaard): het bestand en de pagina werken voor iedereen met de link, maar staan nergens in een lijst. private: alleen het bestand; de paginalink stuurt iedereen behalve jou direct naar het bestand (geen reacties, emoji-reacties of advertenties). public: vermeld op de site en indexeerbaar.
titlestringneeMaximaal 90 tekens, getoond op de pagina van de upload.
descriptionstringneeMaximaal 500 tekens.

Toegestane typen: JPG, PNG, GIF, WEBP, AVIF, BMP, TIFF, HEIC of HEIF afbeeldingen; MP4, WEBM, AVI, MOV, MKV, MPEG, WMV, FLV of 3GP video (de exacte lijst kan in de loop van de tijd groeien). HEIC/HEIF en TIFF worden als WebP opgeslagen, video anders dan MP4/WebM wordt naar MP4 geconverteerd, en grotere JPEG/PNG-afbeeldingen worden kort na het uploaden naar WebP geconverteerd als ze daardoor merkbaar kleiner worden. Maximale grootte: 200MB; te grote of onleesbare bestanden worden geweigerd met een 422.

Antwoord - 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"
  }
}
VeldBeschrijving
idDe unieke id van het bestand.
typeimage of video.
pathDe opslag-URL van het bestand zoals geüpload. Die kan kort daarna veranderen als het bestand wordt geconverteerd (WebP/MP4), dus sla src op, niet path.
srcPermanente directe link naar het bestand: opent altijd het huidige bestand, geschikt voor de src van een <img>/<video> en om op te slaan.
directDe pagina van het bestand op YourImageShare (titel, beschrijving, reacties, deelopties).
thumbEen WebP-miniatuur van 280px breed (bij video het eerste beeld), of null.
width, heightWeergavegrootte in pixels (rechtopstaand; bij video de beeldgrootte), of null als die onbekend is.
sizeBestandsgrootte in bytes zoals opgeslagen.
lockedtrue als de upload met een wachtwoord is beveiligd.
visibilityprivate, unlisted of public (zie het verzoekveld hierboven).
title, descriptionZoals ingesteld, of null. Tekst gaat door dezelfde moderatie als de website.
delete_urlAlleen bij nieuwe uploads: een privélink waarmee je deze upload zonder API-sleutel verwijdert. Wordt één keer getoond (alleen een hash wordt opgeslagen), bewaar hem dus als je hem nodig hebt.
expires_atISO 8601-tijdstempel waarop deze upload automatisch wordt verwijderd, of null als hij niet verloopt.
duplicatetrue als je account exact hetzelfde bestand al had geüpload: die upload wordt teruggegeven en er wordt niets nieuws opgeslagen. Geldt niet voor uploads die verlopen of met allow_duplicate=1.

Verlopende uploads: zodra expires_at is verstreken, wordt het bestand uit de opslag verwijderd en geeft de pagina van de upload binnen ongeveer 5 minuten 410 Gone. Dit kun je achteraf niet ongedaan maken of verlengen: verwijder eerder met het DELETE-endpoint als je het sneller wilt weghalen, of upload opnieuw met een nieuwe expires_in als het langer moet blijven staan.

POST /api/chunk - Grote bestanden

Eén verzoek kan maximaal 100MB bevatten. Voor grotere bestanden (tot 200MB), of om elk verzoek klein te houden bij een trage verbinding, stuur je het bestand in delen van maximaal 5MB en sluit je af met POST /api:

  1. Kies een upload-id: 32 willekeurige hex-tekens.
  2. Stuur voor elk deel POST /api/chunk (multipart/form-data) met upload_id, index (vanaf 0), total (aantal delen) en de bytes in chunk. Het antwoord is {"type": "success", "chunk_size": 5242880}.
  3. Stuur POST /api met upload_id en filename in plaats van uploads, plus eventuele andere uploadvelden. Het antwoord is het gewone uploadantwoord.

Delen van een upload die niet is afgerond, worden na 2 uur verwijderd. Alleen de afsluitende POST /api telt mee voor de uploadlimieten.

GET /api/{id} en PATCH /api/{id} - Eén upload

GET geeft een van je uploads terug met dezelfde velden als in de lijst hieronder. PATCH wijzigt de visibility, title of description (formuliervelden of JSON; een lege titel of beschrijving wist die) en antwoordt met de bijgewerkte upload. Beide vereisen de volledige API-sleutel; 404 als er geen zo'n upload op je account staat.

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 - Het bestand vervangen

Verwisselt het bestand achter een van je uploads en behoudt de id, de pagina en alle links. Elk toegestaan type werkt, ook een ander type (een afbeelding kan een video worden). Stuur het nieuwe bestand als uploads (of upload_id van een bestand dat je met POST /api/chunk in delen hebt verstuurd); keep_original werkt zoals bij uploaden. Het nieuwe bestand krijgt dezelfde controles en conversies als een nieuwe upload, en de vorige versie wordt verwijderd. Vereist de volledige API-sleutel; 404 als er geen zo'n upload op je account staat, 409 als hij met een wachtwoord is beveiligd of een weergavelimiet heeft.

curl -X POST https://yourimageshare.com/api/aB3xY9qRz1/replace \
  -H "X-API-Key: YOUR_API_KEY" -F uploads=@new-version.png

GET /api - Je uploads opvragen

Geeft een gepagineerde lijst van de uploads van het geauthenticeerde account (uit elke bron: API, website of editor), nieuwste eerst, 50 per pagina.

ParameterInVerplichtBeschrijving
pagequeryneePaginanummer, standaard 1.

Antwoord - 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 }
}

De velden betekenen hier hetzelfde als in het uploadantwoord hierboven (bij een upload met wachtwoord zijn path en thumb kortdurende ondertekende links). Om één upload op te zoeken via zijn id gebruik je GET /api/{id}.

DELETE /api/{id} - Een upload verwijderen

Verwijdert een van de uploads van het geauthenticeerde account definitief. Dit kan via de API niet ongedaan worden gemaakt. {id} is de waarde die de upload- of lijst-endpoints teruggeven als id.

Antwoord - 200 OK:

{ "type": "success", "msg": "Deleted." }

404 als er geen upload met die id op je account staat (die was nooit van jou, of is al verwijderd).

POST /api/compare - Voor/na-schuifregelaar

Maakt een voor/na-vergelijking van twee van je eigen afbeeldingsuploads: een pagina met een schuifregelaar op /c/{id} die je ook op elke website kunt insluiten. De sleutel alleen voor uploads werkt ook. Stuur before en after (upload-id's, verplicht), en optioneel title, label_before en label_after (standaard "Before" en "After").

Antwoord - 201 Created:

{
  "type": "success",
  "id": "P7uAYy04VA",
  "url": "https://yourimageshare.com/c/P7uAYy04VA",
  "embed_url": "https://yourimageshare.com/embed/c/P7uAYy04VA",
  "embed": { "script": "<blockquote class=\"YISEmbed\" ...", "iframe": "<iframe ..." }
}

422 als een van de id's niet een van je afbeeldingsuploads is (video's en afbeeldingen met wachtwoord kunnen niet worden gebruikt).

Limieten

Elke API-sleutel heeft onafhankelijke quota per minuut en per dag, plus een grovere dagelijkse limiet per IP-adres als vangnet tegen één IP dat meerdere sleutels afwisselt. Uploaden, opvragen en verwijderen delen dezelfde limieten.

PeriodeStandaardlimietBereik
Per minuut20 verzoekenper API-sleutel
Per dag500 verzoekenper volledige API-sleutel
Per dag2.000 verzoekenper sleutel alleen voor uploads (plugins die hele mediabibliotheken verplaatsen)
Per dag2.000 verzoekenper IP-adres
Per minuut300 delenper API-sleutel, alleen POST /api/chunk

Deze limieten kunnen veranderen. Elk antwoord bevat standaard rate-limit-headers:

X-RateLimit-Limit: 20
X-RateLimit-Remaining: 14

Zodra een limiet wordt overschreden, krijg je een 429, met een Retry-After-header die aangeeft hoeveel seconden je moet wachten.

Foutmeldingen

Elk foutantwoord heeft dezelfde vorm, ongeacht het endpoint of de oorzaak:

{ "type": "error", "errors": "A human-readable description of what went wrong." }
StatusBetekenis
401Ontbrekende of ongeldige API-sleutel.
403Het account of je huidige IP-adres is geblokkeerd voor uploaden.
404Geen upload gevonden met die id op dit account (opvragen, wijzigen, verwijderen).
413Het verzoek is groter dan 100MB. Stuur het bestand in delen (POST /api/chunk) of stuur een link ernaar in url (tot 200MB).
422Validatiefout: geen bestand of link opgegeven, een niet-ondersteund bestandstype, onleesbare afbeeldingsgegevens, afmetingen boven de limiet van 30000x30000px, een bestand boven 200MB, een onvoltooide of verlopen upload_id, of een url die niet kon worden gedownload (de melding zegt waarom).
429Limiet overschreden, zie Limieten hierboven.
500Er ging onverwacht iets mis aan de serverkant. Opnieuw proberen is veilig.

Clientbibliotheken

Officiële SDK's die bovenstaande endpoints omhullen met getypeerde resultaten en bij API-fouten een uitzondering geven, in plaats van ruwe HTTP-afhandeling.

JavaScript / TypeScript

Geen afhankelijkheden, werkt in Node.js en in browsers. Ook op JSR als @yourimageshare/yourimageshare - npx jsr add @yourimageshare/yourimageshare - dezelfde broncode, rechtstreeks als TypeScript gepubliceerd.

npm install yourimageshare

Python

Eén afhankelijkheid (requests), Python 3.8+.

pip install yourimageshare

PHP

Geen Composer-afhankelijkheden (gebruikt de eigen curl-extensie van PHP), PHP 7.4+. Broncode op GitHub.

composer require yourimageshare/yourimageshare-php

Go

Geen afhankelijkheden (alleen de standaardbibliotheek), Go 1.18+. Zie pkg.go.dev voor de volledige referentiedocumentatie.

go get github.com/yourimageshare/yourimageshare/go

Rust

Twee afhankelijkheden (ureq voor blokkerende HTTP - geen async-runtime nodig - plus serde), Rust 1.70+. Broncode op GitHub.

cargo add yourimageshare

Ruby

Geen gem-afhankelijkheden (stdlib Net::HTTP + json), Ruby 2.7+. Broncode op GitHub.

gem install yourimageshare

.NET

Eén afhankelijkheid (System.Text.Json van Microsoft zelf), gericht op netstandard2.0, dus werkt met zowel .NET Framework als modern .NET. Broncode op GitHub. Gebouwd en getest tegen deze live API; publicatie op NuGet volgt binnenkort.

dotnet add package YourImageShare

Dart / Flutter

Eén afhankelijkheid (http, het eigen pakket van het Dart-team), Dart 2.17+. Broncode op GitHub. Gebouwd en getest tegen deze live API; publicatie op pub.dev volgt binnenkort.

dart pub add yourimageshare

Elixir

Eén afhankelijkheid (Req), Elixir 1.14+. Geeft getagde tuples {:ok, result}| {:error, reason} terug - het directe equivalent van de foutafhandeling van deze API in elke andere SDK - plus bang-varianten die een uitzondering geven. Broncode op GitHub, documentatie op HexDocs.

{:yourimageshare, "~> 1.1"}

MCP-server

Voor AI-codeeragents (Claude Code, Cursor en andere MCP-compatibele tools): plak een screenshot in een bugmelding, een PR-beschrijving of een supportthread als echte link in plaats van een base64-blob of een handmatige uploadstap. Werkt op dezelfde manier met Claude Desktop en elke andere MCP-client.

Gehost, niets te installeren: voeg het toe als externe MCP-server (in Claude: Instellingen › Connectors › Aangepaste connector toevoegen; ook ChatGPT, Cursor, VS Code en andere clients die een server-URL accepteren) met je API-sleutel in de URL:

https://yourimageshare.com/mcp?key=YOUR_API_KEY

Clients waarmee je headers kunt instellen, kunnen in plaats daarvan https://yourimageshare.com/mcp gebruiken met Authorization: Bearer YOUR_API_KEY. De URL met je sleutel werkt als een wachtwoord: houd hem privé en vraag een nieuwe sleutel aan in Mijn account als hij uitlekt. Op de gehoste server accepteert upload_image een openbare link (tot 200MB) of inline base64-inhoud (tot 15MB). Zonder sleutel uploadt https://yourimageshare.com/mcp nog steeds anoniem, net als de website: alleen unlisted of private, lagere limieten, en de upload wordt verwijderd met de delete_url die je terugkrijgt. De andere tools hebben een sleutel nodig.

Lokaal: voer het direct uit met npx, zonder installatiestap (het kan ook bestanden van je schijf lezen):

npx yourimageshare-mcp

Tools: upload_image (een lokaal bestand, inline inhoud of een link, tot 200MB, met optionele zichtbaarheid, titel en automatisch verwijderen), list_uploads, get_upload, update_upload en delete_upload.

Ook in het officiële MCP Registry (als io.github.yourimageshare/yourimageshare) en vermeld op Smithery en Glama, als je MCP-client vanaf een van die plekken installeert.

Nieuw met MCP? Lees hoe je Claude en ChatGPT via MCP met deze API verbindt voor een volledige installatiehandleiding.

Alle tien hebben een MIT-licentie. Geen officiële bibliotheek voor jouw taal? De codevoorbeelden hieronder laten zien hoe je de API rechtstreeks aanroept.

Codevoorbeelden

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)

De officiële Go-SDK hierboven doet dit voor je. Deze kale versie is er voor wie de afhankelijkheid liever niet toevoegt.

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

Een browserextensie plus kant-en-klare configuraties en scripts om screenshots direct naar YourImageShare te sturen, zonder handmatig uploaden. Elk daarvan uploadt via hetzelfde /api-endpoint dat hierboven is beschreven.

Browserextensie (Chrome & Firefox)

De extensie YourImageShare Capture voor Chrome en Firefox heeft geen scripts of configuratiebestanden nodig. Hij legt het zichtbare gedeelte vast, een met de muis geselecteerd gebied of een hele scrollende pagina, opent een ingebouwde editor voor pijlen, tekst, blur/afdekken en andere annotaties, en downloadt het resultaat, kopieert het naar je klembord of publiceert het met één klik direct op YourImageShare. Publiceren gebruikt hetzelfde /api-endpoint dat hierboven is beschreven: voeg je API-sleutel één keer toe bij de instellingen van de extensie en elke publicatie geeft daarna meteen een deelbare link terug. Werkt in desktop- Chrome (en andere Chromium-browsers), desktop-Firefox en Firefox voor Android.

YourImageShare Capture voor Firefox downloaden YourImageShare Capture voor Chrome downloaden

ShareX

Download de onderstaande aangepaste uploader en ga in ShareX naar Destinations > Custom uploader settings > Import > from file, open de gedownloade .sxcu en vervang YOUR_API_KEY in het veld Headers door je echte sleutel. Stel hem in als bestemming voor afbeeldingen/bestanden en je opnames worden automatisch geüpload.

YourImageShare.sxcu downloaden

Verwijderen: de link "Delete" van ShareX bij elke upload opent onze verwijderpagina in je browser (de eenmalige delete_url van de upload), zodat je een opname direct vanuit de geschiedenis van ShareX kunt verwijderen. Je kunt uploads ook verwijderen via Mijn account. Heb je de configuratie vóór oktober 2026 gedownload? Download hem opnieuw om dit te krijgen.

Flameshot (Linux)

Een klein shellscript dat flameshot gui uitvoert, de opname uploadt en de link naar je klembord kopieert. Koppel het aan een sneltoets in je desktopomgeving in plaats van de standaardsneltoets van Flameshot.

yis-flameshot-upload.sh downloaden

# 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)

Een PowerShell-script voor de ingebouwde bestemming External command van Greenshot. Compatibel met de Windows PowerShell 5.1 die met Windows wordt meegeleverd, zonder extra installatie.

yis-greenshot-upload.ps1 downloaden

# 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"

Forumplugins

Voeg een echte knop "Afbeelding uploaden" toe naast de berichteneditor van je forum. Elke plugin uploadt via hetzelfde /api-endpoint dat hierboven is beschreven en plaatst BBCode op de cursorpositie, zonder apart tabblad en zonder handmatig kopiëren en plakken.

Gebruik hieronder je sleutel alleen voor uploads, niet je API-sleutel. Elke plugin toont de sleutel in de paginabron van elke bezoeker, en met de sleutel alleen voor uploads (Mijn account > tabblad API) kun je alleen uploaden: je uploads kunnen er niet mee worden opgevraagd of verwijderd, ook niet als iemand hem uit de pagina kopieert.

Forumuploads zijn standaard private: de afbeelding werkt in het bericht, maar YourImageShare geeft er geen eigen pagina aan (geen reacties, emoji-reacties of advertenties). Elke plugin heeft een instelling om over te schakelen naar unlisted als je ook een pagina wilt voor iedereen met de link.

phpBB

Een echte phpBB 3.2/3.3-extensie. Pak uit in ext/, schakel hem in onder Customise > Manage extensions en vervang vervolgens YOUR_UPLOAD_ONLY_KEY in het templatebestand van de extensie door je echte sleutel alleen voor uploads.

Downloaden voor phpBB

SMF (Simple Machines Forum)

Een echt SMF-pakket: installeer via Admin > Package Manager en vervang daarna YOUR_UPLOAD_ONLY_KEY in Sources/yis_forumupload.php door je echte sleutel alleen voor uploads.

Downloaden voor SMF

MyBB

Een echte MyBB 1.8-plugin. Kopieer naar inc/plugins/, activeer onder Configuration > Plugins en vervang vervolgens YOUR_UPLOAD_ONLY_KEY in het pluginbestand door je echte sleutel alleen voor uploads.

Downloaden voor MyBB

FluxBB, PunBB & ZetaBoards

Deze hebben geen formeel pluginsysteem, dus het is een klein fragment dat je direct in je template (FluxBB/PunBB) of Admin CP (ZetaBoards) plakt. Volledige instructies om te kopiëren en plakken per forum:

Instructies voor FluxBB Instructies voor PunBB Instructies voor ZetaBoards

WordPress-plugin

Verplaats je mediabibliotheek naar YourImageShare in plaats van naar de lokale schijf. Nieuwe afbeeldingen en video's worden automatisch via hetzelfde /api-endpoint geüpload dat hierboven is beschreven, het lokale bestand (en elk gegenereerd miniatuurformaat) wordt verwijderd zodra de upload is bevestigd, en elke WordPress- bijlage-URL - de blokeditor, uitgelichte afbeeldingen, galerijen, de REST API - verwijst naar het bestand op YourImageShare. Geen shortcode, je werkwijze verandert niet.

  • Verplaats een bestaande mediabibliotheek in bulk op de achtergrond (of met wp yis offload --all), niet alleen nieuwe uploads
  • Afbeeldingen en video's die al in berichten staan, blijven werken nadat hun lokale bestanden zijn verwijderd
  • Miniaturen en srcset gebruiken onze miniatuur van 280px, zodat kleine afbeeldingsplekken geen bestanden op volledige grootte laden
  • Bestanden tot 200MB, in delen verstuurd zodat grote video's een gedeelde host nooit zwaar belasten
  • Zet elk verplaatst bestand op elk moment terug naar lokale opslag
  • Een kolom in de mediabibliotheek toont wat is verplaatst en wat nog lokaal staat
  • Verplaatste bestanden worden als private opgeslagen: ze laden overal waar je site ze gebruikt, maar krijgen geen eigen pagina op YourImageShare

Gebruikt je sleutel alleen voor uploads, niet je API-sleutel. De optionele volledige API-sleutel is alleen nodig als je wilt dat verplaatste bestanden ook van YourImageShare worden verwijderd wanneer je ze in WordPress verwijdert.

Ophalen via WordPress.org De ZIP downloaden

In WordPress: Plugins > Add New, zoek naar YourImageShare Media Offload, en kies Install en Activate.

Uploadknop voor elke website

Geef je bezoekers een knop "Uploaden" op elke site: een reactieformulier, een supportpagina, een forum waarvoor wij geen plugin hebben, een statische site. Plak twee regels; geen account en geen servercode nodig.

<a class="yis-upload" href="https://yourimageshare.com/" data-target="#message" data-format="bbcode">Image and video hosting by YourImageShare</a>
<script src="https://yourimageshare.com/w.js" async></script>

Beide attributen zijn optioneel: zonder die attributen toont de knop de links met een knop Kopiëren. Het uploadvak is om de link heen gebouwd.

  • Uploads gebeuren direct op je pagina: klik op de knop, sleep bestanden erheen of plak er een screenshot in - meerdere bestanden tegelijk, met een voortgangsbalk en een miniatuur
  • Afbeeldingen die je plakt of sleept in het veld dat in data-target staat (elke textarea, input of bewerkbaar vak) worden ook geüpload en de links worden aan dat veld toegevoegd; zonder doel verschijnen ze onder de knop met een knop Kopiëren
  • data-format: url (directe bestandslink, de standaard), page, bbcode, html of markdown; met data-label wijzig je de tekst van de knop
  • data-key (optioneel): je sleutel alleen voor uploads (Mijn account > API). Uploads komen dan in je account terecht, met je eigen limieten. Zonder sleutel zijn uploads anoniem en unlisted, met een dagelijkse limiet per bezoeker en per site
  • Ontwikkelaars kunnen luisteren naar de gebeurtenis yis:upload op het uploadvak: event.detail.item bevat {id, type, page, url, thumb}
  • Bestanden tot 95 MB via de knop (grotere op de website). Onze moderatie en voorwaarden gelden zoals gewoonlijk; elke bezoeker krijgt een eigen verwijderlink

De knop wordt in een eigen geïsoleerd vak getekend, dus de CSS van je site kan hem niet verstoren. De kleine link "Image and video hosting by YourImageShare" blijft zichtbaar in het uploadvak.

Opdracht voor iPhone & iPad

Upload vanuit het deelmenu van elke app - Foto's, Bestanden, Safari, een screenshot - en krijg de link op je klembord. Je hoeft geen app te installeren en geen account te hebben.

Zo bouw je hem zelf in de app Opdrachten (ongeveer twee minuten):

  1. Nieuwe opdracht, noem hem "Upload to YourImageShare". Zet in de details Toon in deelmenu aan en accepteer afbeeldingen en media.
  2. Voeg Get Contents of URL toe: URL https://yourimageshare.com/api/widget, methode POST, verzoekinhoud Formulier met twee velden: uploads (Bestand) = Opdrachtinvoer, en client (Tekst) = ios-shortcut.
  3. Voeg Get Dictionary Value toe voor data en daarna nog een voor src - dat is de directe link.
  4. Voeg Kopieer naar klembord en Toon melding toe ("Link gekopieerd").

Zonder sleutel zijn uploads anoniem en unlisted, met een dagelijkse limiet. Voeg een header X-API-Key toe met je sleutel alleen voor uploads (Mijn account > API) om naar je account te uploaden. Het antwoord bevat ook delete_url als je een verwijderlink wilt bewaren.

PicGo & PicList

PicGo en PicList uploaden geplakte of gesleepte afbeeldingen voor Markdown-editors - Typora, VS Code, Obsidian, Joplin - en zetten de link in je tekst. Met onze plugin wordt YourImageShare een van hun diensten om afbeeldingen te uploaden.

  • In PicGo of PicList: Plugins, zoek yourimageshare, installeer en kies dan YourImageShare als uploader. Via de opdrachtregel: picgo install yourimageshare
  • Of download de plugin en importeer hem als lokale plugin (eerst uitpakken)
  • Instellingen: sleutel alleen voor uploads (optioneel - leeg = anonieme, unlisted uploads), zichtbaarheid, en of de directe afbeeldingslink (voor Markdown) of de paginalink wordt teruggegeven
  • De link die je terugkrijgt blijft werken als grote afbeeldingen later naar WebP worden geoptimaliseerd

De PicGo-plugin downloaden

Telegram-bot

Krijg een link voor een foto, video of GIF zonder Telegram te verlaten. Stuur hem naar @YourImageShare_bot en de link komt direct terug - zonder account en zonder API-sleutel. De bot uploadt via hetzelfde /api-endpoint dat hierboven is beschreven.

  • Stuur een foto, video, GIF of een afbeeldings- of videobestand; een album van maximaal 10 komt in één antwoord terug
  • Antwoord in een groep met /link op een foto of video en de bot plaatst de link voor iedereen
  • Met /autodelete worden je volgende uploads na 1 uur, 1 dag, 1 week of 30 dagen automatisch verwijderd
  • Elk resultaat heeft een knop Verwijderen die alleen werkt voor degene die het bestand heeft geüpload
  • Links zijn unlisted: alleen mensen met de link kunnen het bestand zien
  • De bot antwoordt in je Telegram-taal als de site daarin beschikbaar is

Behoud de volledige kwaliteit: Telegram comprimeert foto's die op de normale manier worden verstuurd. Stuur ze als bestand (📎 → Bestand) en het origineel wordt geüpload. Telegram laat bots bestanden tot 20 MB ophalen, dus upload grotere bestanden op de website.

@YourImageShare_bot openen in Telegram

Discord-bot

Maak van elke afbeelding, GIF of video in Discord een permanente link. De eigen bijlagelinks van Discord werken na een tijd niet meer; links van YourImageShare wel. Zonder account en zonder API-sleutel. De bot uploadt via hetzelfde /api-endpoint dat hierboven is beschreven.

  • /upload met een bestand: optioneel automatisch verwijderen na 1, 7 of 30 dagen, en only_me om de link alleen aan jou te tonen
  • Klik met de rechtermuisknop op een bericht → Apps → Rehost on YourImageShare om tot 6 afbeeldingen of video's eruit in één antwoord opnieuw te hosten
  • Voeg hem toe aan een server, of aan je eigen account om hem in elke chat of DM te gebruiken
  • Elk resultaat heeft een knop Verwijderen die alleen werkt voor degene die het bestand heeft geüpload
  • Links zijn unlisted: alleen mensen met de link kunnen het bestand zien

YourImageShare toevoegen aan Discord

GitHub Action voor Playwright & Cypress

Als end-to-end-tests in een pull request mislukken, zie je waarom zonder artifact-zips te downloaden. De action uploadt de screenshots van mislukte tests en visuele verschillen en toont ze als afbeeldingen in één pull request-reactie, die bij elke run wordt bijgewerkt.

  • Werkt met Playwright en Cypress, en ontdekt zelf welke het project gebruikt
  • Mislukte visuele vergelijkingen verschijnen als Expected, Actual en Diff, met een link naar een voor/na-schuifregelaar (toHaveScreenshot van Playwright; bij Cypress de plugins cypress-image-diff-js en cypress-visual-regression)
  • De reactie verandert in "all tests passed" zodra de tests zijn gerepareerd; hetzelfde rapport komt in de samenvatting van de job
  • Screenshots zijn private (alleen afbeeldingsbestanden, geen pagina) en worden standaard na 30 dagen verwijderd
  • Heeft je sleutel alleen voor uploads nodig als repository-secret YOURIMAGESHARE_API_KEY; je build mislukt er nooit door
- uses: yourimageshare/playwright-pr-screenshots@v1
  if: always()
  with:
    api-key: ${{ secrets.YOURIMAGESHARE_API_KEY }}

Installatiehandleiding op GitHub

Communityprojecten

Enkele van de beste integraties van YourImageShare zijn gebouwd door de mensen die het gebruiken. Deze projecten zijn gemaakt door leden van de community met de openbare API die hierboven is beschreven. Ze worden onderhouden door hun makers, dus neem voor vragen of bugmeldingen contact op met de maker via de pagina van het project.

  • YourImageShare Uploads for FlatBB - een plugin voor het FlatBB-forum van madromas (MadWay Inc.).
    • Voegt een uploadknop toe aan de berichteneditor van FlatBB: kies een of meer afbeeldingen of video's en de Markdown wordt op de cursorpositie ingevoegd
    • Voegt elke upload in als aanklikbare miniatuur, een afbeelding op volledige grootte of een gewone link (video's als link)
    • Uploads gaan via de server van je forum met een API-sleutel alleen voor uploads, zodat de sleutel nooit in de browsers van bezoekers terechtkomt
    • Bestanden worden op YourImageShare gehost, niet op de schijf van je forum, met een standaardzichtbaarheid die je zelf kiest (private, unlisted of public)
    • Werkt naast de eigen uploader van FlatBB, met een aparte limiet voor bestandsgrootte

    Broncode op GitHub · Pagina in de FlatBB Marketplace

Bedankt

Een groot dankjewel aan iedereen die met YourImageShare bouwt en zijn werk met anderen deelt. Communityprojecten brengen YourImageShare op plekken die wij zelf nooit zouden hebben bereikt. Heb je iets gebouwd met de API? Vertel het ons en we voegen het graag hier toe.

Van de blog

Klaar om het te proberen?

Vraag je API-sleutel aan →