Search K
Optimiser pour le web
Optimisez les images pour la diffusion sur le web en une seule étape. Combine conversion de format, ajustement de la qualité, redimensionnement facultatif, encodage progressif et suppression des métadonnées.
Point de terminaison API
POST /api/v1/tools/image/optimize-for-web
Accepte des données de formulaire multipart avec un fichier image et un champ JSON settings.
Un point de terminaison d'aperçu en direct est également disponible à POST /api/v1/tools/image/optimize-for-web/preview, qui renvoie l'image traitée directement au format binaire (sans création d'espace de travail) pour un réglage des paramètres en temps réel.
Paramètres
| Paramètre | Type | Requis | Défaut | Description |
|---|---|---|---|---|
| format | string | Non | "webp" | Format de sortie : webp, jpeg, avif, png, jxl |
| quality | number | Non | 80 | Qualité de sortie (1-100) |
| maxWidth | number | Non | - | Largeur maximale en pixels. L'image est réduite si elle est plus large. |
| maxHeight | number | Non | - | Hauteur maximale en pixels. L'image est réduite si elle est plus haute. |
| progressive | boolean | Non | true | Activer l'encodage progressif/entrelacé |
| stripMetadata | boolean | Non | true | Supprimer les métadonnées EXIF, GPS, ICC et XMP |
Exemple de requête
bash
curl -X POST http://localhost:1349/api/v1/tools/image/optimize-for-web \
-H "Authorization: Bearer si_your-api-key" \
-F "[email protected]" \
-F 'settings={"format": "webp", "quality": 75, "maxWidth": 1920}'Optimiser en AVIF avec une compression agressive :
bash
curl -X POST http://localhost:1349/api/v1/tools/image/optimize-for-web \
-H "Authorization: Bearer si_your-api-key" \
-F "[email protected]" \
-F 'settings={"format": "avif", "quality": 50, "maxWidth": 1200, "maxHeight": 800}'Exemple de réponse
json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/photo.webp",
"originalSize": 4500000,
"processedSize": 320000
}Réponse du point de terminaison d'aperçu
Le point de terminaison d'aperçu (/api/v1/tools/image/optimize-for-web/preview) renvoie l'image binaire directement avec des en-têtes informatifs :
X-Original-Size- Taille du fichier d'origine en octetsX-Processed-Size- Taille du fichier traité en octetsX-Output-Filename- Nom du fichier de sortie encodé en URL
Remarques
- Cet outil est conçu comme un pipeline d'optimisation unique pour les ressources web. Il gère la conversion de format, l'ajustement de la qualité, le plafonnement des dimensions maximales et la suppression des métadonnées en une seule passe.
- L'extension du nom de fichier de sortie est mise à jour pour correspondre au format choisi.
- L'encodage JXL (JPEG XL) utilise un encodeur CLI spécialisé. L'image est d'abord traitée en PNG, puis encodée en JXL.
- L'encodage progressif améliore le temps de chargement perçu pour JPEG et PNG en permettant aux navigateurs d'afficher un aperçu de faible qualité avant le chargement complet de l'image.
- Le point de terminaison d'aperçu est plus léger (pas de création d'espace de travail ni de tâche) et est destiné à l'interface de réglage des paramètres en direct du frontend.
