Redimensionner un lot d’images
Le redimensionnement par lots applique une même taille cible à un ensemble d’images en une seule opération. Au lieu d’ouvrir chaque fichier séparément, vous fixez une largeur ou une hauteur, et toute la série est ramenée au même format, avec des proportions conservées et un rendu homogène d’un visuel à l’autre.
Exécuter en ligne
Exécutez cette tâche sur nos serveurs, avec votre compte. Les outils gratuits tournent dans votre navigateur ; celui-ci est facturé sur votre solde KIT au prix affiché ci-dessus.
Un réglage, appliqué à toute la série
Vous définissez la taille cible une seule fois — une largeur commune, par exemple — et elle s’applique à chaque image du lot. Les fichiers gardent leurs proportions respectives : une photo verticale reste verticale, une horizontale reste horizontale, mais toutes partagent désormais la même largeur. C’est ce qui donne un ensemble régulier, sans le fastidieux travail de reprendre les images une à une.
Pourquoi l’homogénéité compte
Un catalogue, une galerie ou une fiche produit paraissent négligés dès que les visuels sautent d’une taille à l’autre. En ramenant toute une série au même gabarit, vous obtenez un affichage aligné, où chaque vignette occupe la même place. C’est aussi ce qu’attendent la plupart des plateformes de vente : des images calibrées, sinon l’import est refusé ou l’aperçu se déforme.
Le poids baisse avec la taille
Réduire la dimension d’un lot allège mécaniquement chaque fichier. Une série de photos de téléphone en pleine résolution devient un ensemble léger, adapté à une page web ou à un envoi groupé. Vous gardez le même format d’origine — JPG, PNG ou WebP — tout en gagnant sur le temps de chargement et sur les limites de poids imposées.
Cas d’usage
Un catalogue produit régulier
Menuiserie Rousseau & Fils photographie une trentaine de meubles. Toutes les prises sont ramenées à 1200 pixels de large en une passe : la fiche boutique affiche des visuels alignés, sans reprise manuelle image par image.
Des photos de chantier pour un compte rendu
Julien Lefèvre rassemble les clichés d’une rénovation pris par plusieurs personnes, à des résolutions disparates. Un passage par lots les uniformise à 1600 pixels, prêts à intégrer dans un rapport lisible et léger.
Préparer une galerie d’événement
Studio Lumen SAS livre les photos d’un salon professionnel. Le lot entier passe à une hauteur commune de 1080 pixels, pour une galerie en ligne cohérente qui se charge vite, même sur mobile.
Questions fréquentes
Toutes les images doivent-elles avoir la même orientation ?
Non. Le lot peut mélanger photos verticales et horizontales. Chaque fichier conserve ses proportions : la dimension que vous fixez, largeur ou hauteur, devient commune, l’autre s’ajuste image par image.
Combien d’images puis-je traiter d’un coup ?
Le traitement s’enchaîne sur l’ensemble transmis ; chaque fichier reste soumis aux limites unitaires, soit 15 Mo et 12 mégapixels. Pour de gros volumes réguliers, l’appel via l’API permet d’enchaîner les lots sans intervention manuelle.
Le tarif est-il par lot ou par image ?
Par image. Vous réglez $0.002 par requête, puis $0.005 pour chaque image du lot. Un lot de vingt visuels revient donc au prix de vingt unités, sans surcoût d’abonnement ni palier caché.
Les fichiers gardent-ils leur format d’origine ?
Oui. Un JPG ressort en JPG, un PNG en PNG. Le lot n’est pas converti, seulement redimensionné — sauf si vous demandez expressément un changement de format en parallèle.
Où passent mes images pendant le traitement ?
Elles sont envoyées à notre API le temps du redimensionnement, sur une liaison chiffrée, et ne sont pas conservées ensuite. Aucune image du lot n’est réutilisée à d’autres fins.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/image/resize-batch \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"image":"https://ejemplo.com/imagen.jpg"}'const res = await fetch("https://api.kit.forhosting.com/image/resize-batch", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"image": "https://ejemplo.com/imagen.jpg"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/resize-batch",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"image": "https://ejemplo.com/imagen.jpg"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/resize-batch", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"image":"https://ejemplo.com/imagen.jpg"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"image":"https://ejemplo.com/imagen.jpg"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/resize-batch", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"image": "https://ejemplo.com/imagen.jpg"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.resize_batch",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_mb | 15 |
max_megapixels | 12 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |