Entwickler-API
Dokumentation der Bild-Upload-API
Laden Sie ein Bild oder einen Stapel aus einer serverseitigen Anwendung hoch und fragen Sie das verwendete und verbleibende Kontingent ab.
Senden Sie eine E-Mail mit lesbarem Antragstext an [email protected]. Für ein neues Konto versucht das System, API-Benutzer-ID und API-Schlüssel zu erstellen und per E-Mail zu senden. Das Absenden des Antrags bestätigt noch keine Zustellung der Zugangsdaten.
https://api.mini-tools.ukPOST /v1/uploadGET /v1/usageGET /v1/imagesDELETE /v1/images/:keyAuthentifizierung
Hilfe zu Antrag und Zustellung
- Schreiben Sie einen kurzen Nachrichtentext, etwa dass Sie Dokumentationsbilder per API hochladen möchten. Nur ein Betreff, Anhang oder eine automatische Signatur gilt nicht als Antragstext. Leere oder unlesbare Nachrichten erhalten weder automatische Antwort noch Zugangsdaten.
- Prüfen Sie bei ausbleibender Antwort den Spamordner und ob Ihre E-Mail lesbaren Text enthielt. Wiederholen Sie denselben Antragstyp von derselben Adresse nicht innerhalb von 24 Stunden. Meldet die Antwort einen Einrichtungsfehler, ist Hilfe nötig; das Konto ist damit nicht aktiviert. Nennen Sie [email protected] Ihre Absenderadresse und den Antragszeitpunkt, niemals den API-Schlüssel.
- Besteht bereits ein aktives API-Konto für Ihre E-Mail-Adresse, sendet ein erneuter Antrag den ursprünglichen Schlüssel nicht noch einmal. Bitten Sie bei Verlust um Zurücksetzen. Wenden Sie sich bei deaktiviertem Konto an den Support; wiederholte Uploads aktivieren es nicht.
- Neue automatisch per E-Mail erstellte Konten starten mit 100 temporären Bildern pro Tag und 1-day, 7-day oder 30-day als Speicherdauer. Dauerhafter API-Speicher ist standardmäßig nicht freigeschaltet. Prüfen Sie vor einem Stapel mit GET /v1/usage Ihre aktuellen Rechte und das Restkontingent.
Jede Anfrage muss die zugewiesene Benutzer-ID und den passenden API-Schlüssel in den Headern senden.
X-API-User-ID: assigned-user-idAuthorization: Bearer mtu_live_your_key
Verwendung
Senden Sie multipart/form-data. Verwenden Sie file einmal für ein Bild oder wiederholen Sie das Feld für einen Stapel.
Ein Bild hochladen
curl "https://api.mini-tools.uk/v1/upload" \ -H "X-API-User-ID: assigned-user-id" \ -H "Authorization: Bearer mtu_live_your_key" \ -F "duration=7-day" \ -F "file=@image.png"
Node.js-Beispiel
Lesen Sie MTU_API_USER_ID und MTU_API_KEY aus der Umgebung, laden Sie eine Datei hoch, prüfen Sie den HTTP-Status, werten Sie Erfolg oder Fehler aus und protokollieren Sie ein desensibilisiertes Ergebnis (url, duration, expires_at, usage). Keine echten Geheimnisse hardcoden.
import fs from "node:fs";
import path from "node:path";
const userId = process.env.MTU_API_USER_ID;
const apiKey = process.env.MTU_API_KEY;
if (!userId || !apiKey) {
throw new Error("Set MTU_API_USER_ID and MTU_API_KEY in the environment");
}
const form = new FormData();
form.append("duration", "7-day");
form.append(
"file",
new Blob([fs.readFileSync("./image.png")], { type: "image/png" }),
path.basename("./image.png")
);
const response = await fetch("https://api.mini-tools.uk/v1/upload", {
method: "POST",
headers: {
"X-API-User-ID": userId,
Authorization: `Bearer ${apiKey}`,
},
body: form,
});
const payload = await response.json();
if (!response.ok || payload.success !== true) {
console.error("Upload failed", {
status: response.status,
failed: payload.failed || null,
});
process.exitCode = 1;
} else {
const item = payload.uploaded?.[0] || {};
console.log({
url: item.url,
duration: item.duration,
expires_at: item.expires_at,
usage: payload.usage
? {
temporary_used: payload.usage.temporary?.used,
temporary_remaining: payload.usage.temporary?.remaining,
permanent_used: payload.usage.permanent?.used,
permanent_remaining: payload.usage.permanent?.remaining,
}
: null,
});
}
Mehrere Bilder hochladen
curl "https://api.mini-tools.uk/v1/upload" \ -H "X-API-User-ID: assigned-user-id" \ -H "Authorization: Bearer mtu_live_your_key" \ -F "duration=7-day" \ -F "file=@first.png" \ -F "file=@second.webp"
Sichere Wiederholungen
Senden Sie für wiederholbare Uploads einen eindeutigen Idempotency-Key. Dieselbe Anfrage mit demselben Schlüssel gibt das erste Ergebnis zurück, ohne erneut hochzuladen oder Kontingent doppelt zu verbrauchen. Andere Dateien mit demselben Schlüssel liefern HTTP 409.
Idempotency-Key: upload-request-001
Anfragefelder
| Feld | Pflicht | Beschreibung |
|---|---|---|
file | Ja | Ein Bild oder dasselbe Feld mehrfach für mehrere Bilder. |
duration | Nein | 1-day, 7-day, 30-day oder permanent. Das Konto muss den gewählten Speichertyp erlauben. |
Upload-Antwort
Vollständiger Erfolg liefert HTTP 201. Bei HTTP 207 wurden einige Bilder gespeichert und andere nicht: Prüfen Sie uploaded und failed auch bei success: false und behalten Sie erfolgreiche URLs. Laden Sie nach der Korrektur nur die fehlgeschlagenen Dateien mit einem neuen Idempotency-Key hoch. Die ursprüngliche Anfrage mit ihrem ursprünglichen Schlüssel liefert erneut das alte Ergebnis.
Das folgende JSON zeigt die Antwortstruktur. Bild-URLs, Datumsangaben und Kontowerte sind Beispiele, keine tatsächlichen Upload-Daten oder Zusagen zu Ihrem Kontingent.
{
"success": true,
"partial": false,
"uploaded": [
{
"success": true,
"key": "7-day/example.png",
"url": "https://pub.mini-tools.uk/7-day/example.png",
"duration": "7-day",
"expires_at": "2026-08-05T12:00:00.000Z",
"size": 24831,
"mime": "image/png",
"risk": "normal"
}
],
"failed": [],
"usage": {
"user_id": "assigned-user-id",
"plan_type": "custom",
"temporary": {
"enabled": true,
"limit": 100,
"used": 1,
"remaining": 99,
"reset_at": "2026-08-05T16:00:00.000Z",
"timezone": "Asia/Shanghai"
},
"permanent": {
"enabled": false,
"limit": 0,
"used": 0,
"remaining": 0
},
"usage_date": "2026-08-05"
}
}
Rückgabefelder
| Feld | Beschreibung |
|---|---|
success | Nur wahr, wenn alle Bilder erfolgreich sind. |
partial | Wahr, wenn ein Teil des Stapels erfolgreich ist. |
uploaded | Erfolgreiche Bilder mit Speicherschlüssel, URL, Dauer, Ablauf, Größe, MIME-Typ und Prüfstatus. |
failed | Fehlgeschlagene Bilder mit Index, Dateiname, Fehlermeldung und Fehlercode. |
account | Flache Kontingentdaten zur Kompatibilität. |
usage | Aktuelle Grenzen, verwendete und verbleibende Mengen. |
Verwendetes und verbleibendes Kontingent
Rufen Sie den Endpunkt vor oder nach einem Upload auf. Die Abfrage verbraucht kein Upload-Kontingent.
curl "https://api.mini-tools.uk/v1/usage" \ -H "X-API-User-ID: assigned-user-id" \ -H "Authorization: Bearer mtu_live_your_key"
{
"success": true,
"usage": {
"user_id": "assigned-user-id",
"plan_type": "custom",
"temporary": {
"enabled": true,
"limit": 100,
"used": 24,
"remaining": 76,
"reset_at": "2026-08-05T16:00:00.000Z",
"timezone": "Asia/Shanghai"
},
"permanent": {
"enabled": false,
"limit": 0,
"used": 0,
"remaining": 0
},
"usage_date": "2026-08-05"
}
}
Upload-Verlauf abrufen
Gibt nur aktive Uploads des aktuellen API-Benutzers zurück. Jede öffentliche URL ist direkt nutzbar. Speicherdauer, Ablauf und Prüfstatus sind nicht enthalten.
curl "https://api.mini-tools.uk/v1/images?limit=20" \ -H "X-API-User-ID: assigned-user-id" \ -H "Authorization: Bearer mtu_live_your_key"
{
"success": true,
"records": [
{
"key": "7-day/example.png",
"url": "https://pub.mini-tools.uk/7-day/example.png",
"size": 24831,
"mime": "image/png",
"uploaded_at": "2026-08-05T12:00:00.000Z"
}
],
"next_cursor": null
}
limit ist standardmäßig 20 und maximal 100. Wenn next_cursor nicht null ist, senden Sie ihn als cursor-Parameter für die nächste Seite.
Hochgeladenes Bild löschen
Löscht ein Bild des authentifizierten API-Benutzers. Bilder anderer API-Benutzer können nicht gelöscht werden. Das Löschen stellt kein Tages- oder Gesamtkontingent wieder her.
curl -X DELETE "https://api.mini-tools.uk/v1/images/7-day/example.png" \ -H "X-API-User-ID: assigned-user-id" \ -H "Authorization: Bearer mtu_live_your_key"
{
"success": true,
"deleted": {
"key": "7-day/example.png",
"url": "https://pub.mini-tools.uk/7-day/example.png"
}
}
Einschränkungen
- Formate: JPG, PNG, GIF und WebP.
- Maximal 5 MB pro Bild.
- Maximal 10 Bilder und insgesamt 25 MB pro Anfrage.
- Dauer: 1-day, 7-day, 30-day oder permanent, abhängig von den Kontorechten.
- Nur erfolgreiche Bilder verbrauchen Kontingent. Tageskontingente werden um Mitternacht in Asia/Shanghai zurückgesetzt; dauerhafte Kontingente sind Gesamtmengen.
- Verwenden Sie für wiederholbare Uploads einen eindeutigen Idempotency-Key, um Duplikate und doppelten Kontingentverbrauch zu vermeiden.
- Zugangsdaten aus der automatischen Antwort können genutzt werden, solange das Konto aktiv ist. Ein Administrator kann das Konto später deaktivieren. API-Uploads unterliegen weiterhin der Inhaltsprüfung.
- Für API- und Web-Uploads gelten dieselben Regeln. Rechtswidrige, schädliche, private oder verletzende Bilder können entfernt werden.
HTTP-Statuscodes
200Abfrage oder Löschung erfolgreich.201Alle Bilder erfolgreich hochgeladen.207Stapel teilweise erfolgreich.400 / 413 / 415Anfrage, Anzahl, Größe oder Bildinhalt ist ungültig.401 / 403Zugangsdaten ungültig, Konto deaktiviert oder Speichertyp nicht erlaubt.404Das Bild existiert nicht oder gehört nicht zum aktuellen API-Benutzer.409Der Idempotency-Key wird verarbeitet oder wurde für einen anderen Upload wiederverwendet.429Tages- oder Gesamtkontingent ausgeschöpft.503API-Datenbank vorübergehend nicht verfügbar.
Anwendungsfälle
- Anwendungs-Screenshots aus Bereitstellungs- oder Testabläufen hochladen.
- Produkt- oder Dokumentationsbilder in einer Serveranfrage hochladen.
- Kontingent vor einem automatischen Stapel prüfen.
Verwandte Tools
FAQ
Kann eine Anfrage mehrere Bilder hochladen?
Ja. Wiederholen Sie file für jedes Bild innerhalb der Anzahl- und Größenlimits.
Reicht die Benutzer-ID zur Authentifizierung?
Nein. Senden Sie die Benutzer-ID und den passenden API-Schlüssel.
Wie sehe ich das verbleibende Kontingent?
Rufen Sie GET /v1/usage auf oder lesen Sie usage aus der Upload-Antwort.