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.

Basis-URLhttps://api.mini-tools.uk
UploadPOST /v1/upload
Verwendetes und verbleibendes KontingentGET /v1/usage
Upload-VerlaufGET /v1/images
Bild löschenDELETE /v1/images/:key

Authentifizierung

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-id
  • Authorization: Bearer mtu_live_your_key
Verwenden Sie beide Zugangsdaten nur auf einem vertrauenswürdigen Server. Die Benutzer-ID identifiziert das Konto; der API-Schlüssel verhindert eine fremde Nutzung. Veröffentlichen Sie den Schlüssel nicht im Browsercode oder in einem öffentlichen Repository.

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
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.

Node.js
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
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.

HTTP
Idempotency-Key: upload-request-001

Anfragefelder

FeldPflichtBeschreibung
fileJaEin Bild oder dasselbe Feld mehrfach für mehrere Bilder.
durationNein1-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.

JSON
{
  "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

FeldBeschreibung
successNur wahr, wenn alle Bilder erfolgreich sind.
partialWahr, wenn ein Teil des Stapels erfolgreich ist.
uploadedErfolgreiche Bilder mit Speicherschlüssel, URL, Dauer, Ablauf, Größe, MIME-Typ und Prüfstatus.
failedFehlgeschlagene Bilder mit Index, Dateiname, Fehlermeldung und Fehlercode.
accountFlache Kontingentdaten zur Kompatibilität.
usageAktuelle 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
curl "https://api.mini-tools.uk/v1/usage" \
  -H "X-API-User-ID: assigned-user-id" \
  -H "Authorization: Bearer mtu_live_your_key"
JSON
{
  "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
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"
JSON
{
  "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
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"
JSON
{
  "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

  • 200 Abfrage oder Löschung erfolgreich.
  • 201 Alle Bilder erfolgreich hochgeladen.
  • 207 Stapel teilweise erfolgreich.
  • 400 / 413 / 415 Anfrage, Anzahl, Größe oder Bildinhalt ist ungültig.
  • 401 / 403 Zugangsdaten ungültig, Konto deaktiviert oder Speichertyp nicht erlaubt.
  • 404 Das Bild existiert nicht oder gehört nicht zum aktuellen API-Benutzer.
  • 409 Der Idempotency-Key wird verarbeitet oder wurde für einen anderen Upload wiederverwendet.
  • 429 Tages- oder Gesamtkontingent ausgeschöpft.
  • 503 API-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.