API développeur

Documentation de l’API d’envoi d’images

Envoyez une image ou un lot depuis une application serveur, puis consultez le quota utilisé et restant.

Demandez l’accès par e-mail, comme pour le stockage longue durée. L’administrateur enverra votre identifiant utilisateur API et votre clé API.

URL de basehttps://api.mini-tools.uk
EnvoiPOST /v1/upload
Quota utilisé et restantGET /v1/usage
Historique des envoisGET /v1/images
Supprimer une imageDELETE /v1/images/:key

Authentification

Chaque requête doit envoyer l’identifiant attribué et la clé API correspondante dans les en-têtes.

  • X-API-User-ID: assigned-user-id
  • Authorization: Bearer mtu_live_your_key
Utilisez ces deux identifiants uniquement sur un serveur de confiance. L’identifiant repère le compte et la clé API empêche son utilisation par un tiers. Ne publiez pas la clé dans le navigateur ou un dépôt public.

Utilisation

Envoyez multipart/form-data. Utilisez file une fois pour une image ou répétez le champ pour un lot.

Envoyer une image

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"

Envoyer plusieurs images

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"

Nouvelles tentatives sûres

Pour un envoi susceptible d’être relancé, utilisez un Idempotency-Key unique. La même requête avec la même clé renvoie le premier résultat sans nouvel envoi ni double consommation du quota. Des fichiers différents avec la même clé renvoient HTTP 409.

HTTP
Idempotency-Key: upload-request-001

Champs de requête

ChampRequisDescription
fileOuiUne image, ou le même champ répété pour plusieurs images.
durationNon1-day, 7-day, 30-day ou permanent. Le compte doit autoriser le type choisi.

Réponse d’envoi

Un succès complet renvoie HTTP 201. Un lot partiellement réussi renvoie HTTP 207 et détaille chaque résultat.

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

Champs renvoyés

ChampDescription
successVrai uniquement si toutes les images réussissent.
partialVrai si une partie du lot réussit.
uploadedImages réussies avec clé, URL, durée, expiration, taille, type MIME et état de contrôle.
failedÉchecs avec index, nom de fichier, message et code d’erreur.
accountDonnées de quota à plat pour compatibilité.
usageLimites actuelles, valeurs utilisées et restantes.

Obtenir le quota utilisé et restant

Appelez cet endpoint avant ou après un envoi. La consultation ne consomme aucun quota.

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

Consulter l’historique des envois

Renvoie uniquement les envois actifs de l’utilisateur API actuel. Chaque URL publique est directement utilisable. La durée, l’expiration et l’état de contrôle ne sont pas inclus.

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 vaut 20 par défaut et 100 au maximum. Lorsque next_cursor n’est pas null, transmettez-le comme paramètre cursor pour obtenir la page suivante.

Supprimer une image envoyée

Supprime une image de l’utilisateur API authentifié. Les images d’un autre utilisateur ne peuvent pas être supprimées. La suppression ne restaure pas le quota quotidien ou permanent.

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

Limites

  • Formats acceptés : JPG, PNG, GIF et WebP.
  • 5 Mo maximum par image.
  • 10 images et 25 Mo au total par requête.
  • Durée : 1-day, 7-day, 30-day ou permanent, selon les droits du compte.
  • Seules les images réussies consomment le quota. Les quotas temporaires sont réinitialisés à minuit dans Asia/Shanghai ; les quotas permanents sont globaux.
  • Utilisez un Idempotency-Key unique pour les envois susceptibles d’être relancés afin d’éviter les doublons et la double consommation du quota.
  • Les identifiants API ne sont activés qu’après vérification de l’adresse e-mail par l’administrateur. Les envois API restent soumis au contrôle du contenu.
  • Les mêmes règles s’appliquent aux envois API et Web. Les images illégales, nuisibles, privées ou contrefaisantes peuvent être supprimées.

Codes HTTP

  • 200 Consultation ou suppression réussie.
  • 201 Toutes les images ont été envoyées.
  • 207 Lot partiellement réussi.
  • 400 / 413 / 415 Requête, nombre, taille ou contenu invalide.
  • 401 / 403 Identifiants invalides, compte désactivé ou type non autorisé.
  • 404 L’image n’existe pas ou n’appartient pas à l’utilisateur API actuel.
  • 409 L’Idempotency-Key est en cours de traitement ou a été réutilisé pour un autre envoi.
  • 429 Quota quotidien ou permanent épuisé.
  • 503 Base API temporairement indisponible.

Cas d’usage

  • Envoyer des captures depuis un flux de déploiement ou de test.
  • Envoyer plusieurs images de produit ou de documentation.
  • Vérifier le quota avant un lot automatisé.

Outils associés

FAQ

Une requête peut-elle envoyer plusieurs images ?

Oui. Répétez file pour chaque image dans les limites indiquées.

L’identifiant utilisateur suffit-il ?

Non. Envoyez l’identifiant et la clé API correspondante.

Comment connaître le quota restant ?

Appelez GET /v1/usage ou lisez usage dans la réponse d’envoi.