Documentation
Envoyer une image par script.
Un seul point d'entrée, un fichier par requête, une réponse JSON. De quoi brancher ShareX, un raccourci clavier ou ton propre outil.
Point d'entrée
| URL | https://toplix.fr/api/upload.php |
|---|---|
| Méthode | POST |
| Encodage | multipart/form-data |
| Réponse | application/json |
Authentification
La clé se présente en en-tête, ce qui évite de la voir traîner dans les journaux du serveur :
Authorization: Bearer TA_CLE
Si ton client ne sait pas ajouter d'en-tête, envoie-la dans un champ
key du formulaire. Les clés se déclarent dans
config.php, sous api_keys. Une clé compromise se
révoque en la retirant du tableau.
Paramètres
file |
requis Le fichier image. image est accepté comme alias. |
|---|---|
private |
1 pour que l'image n'apparaisse pas dans la page publique. |
strip |
1 pour retirer les métadonnées de prise de vue (EXIF, GPS). |
expires |
Durée de vie en secondes, parmi
0, 3600, 21600, 86400, 604800, 2592000.
0 conserve l'image sans limite.
|
Exemple avec curl
curl -X POST https://toplix.fr/api/upload.php \
-H "Authorization: Bearer TA_CLE" \
-F "file=@photo.jpg" \
-F "strip=1" \
-F "expires=604800"
Réponse
En cas de succès, le serveur répond 200 :
{
"ok": true,
"file": {
"code": "a7k2m9xp",
"name": "photo.jpg",
"url": "https://toplix.fr/uploads/a7k2m9xp.jpg",
"thumb": "https://toplix.fr/uploads/thumbs/a7k2m9xp_t.jpg",
"page": "https://toplix.fr/image.php?c=a7k2m9xp",
"delete": "https://toplix.fr/delete.php?c=a7k2m9xp&t=…",
"width": 1600,
"height": 1067,
"size": 482910,
"sizeLabel": "471,6 Ko",
"expires": "dans 7 j"
}
}
En cas d'échec, ok vaut false et error porte le motif :
{ "ok": false, "error": "Ce n'est pas une image lisible." }
400 | Fichier refusé : format, poids, contenu illisible. |
|---|---|
401 | Clé d'API invalide. |
413 | Requête plus lourde que post_max_size. |
419 | Aucune authentification fournie. |
429 | Quota horaire dépassé pour cette adresse IP. |
Configuration ShareX
Enregistre ce contenu dans un fichier .sxcu et ouvre-le :
ShareX l'ajoute comme destination personnalisée.
{
"Version": "14.0.0",
"Name": "Toplix",
"DestinationType": "ImageUploader",
"RequestMethod": "POST",
"RequestURL": "https://toplix.fr/api/upload.php",
"Headers": { "Authorization": "Bearer TA_CLE" },
"Body": "MultipartFormData",
"FileFormName": "file",
"Arguments": { "strip": "1" },
"URL": "{json:file.url}",
"DeletionURL": "{json:file.delete}"
}
Limites
- Un fichier par requête. Pour un lot, enchaîne les appels.
- 8,0 Mo maximum par fichier.
- Formats acceptés : JPG, JPEG, PNG, GIF, WEBP.
- 60 envois par heure et par adresse IP.
- Le lien de suppression n'est renvoyé qu'une fois : conserve-le.