Comparer deux images
Cet outil compare deux images et renvoie un score de ressemblance fondé sur leur contenu. Il ne se limite pas aux pixels : il évalue si les deux visuels montrent le même sujet, même sous un angle ou un cadrage différents. Utile pour vérifier qu’une image correspond bien à une autre.
Cette tâche n'est pas disponible pour le moment et ne peut donc pas être achetée. Rien n'est facturé.
Voir l’APIUne comparaison par le sens de l’image
L’outil analyse ce que représentent les deux images plutôt que leur simple identité octet par octet. Deux photos du même objet prises à des moments différents ressortent comme proches ; deux visuels sans rapport ressortent comme éloignés. Le score obtenu situe la paire sur cette échelle de ressemblance. Cette approche est plus souple qu’une comparaison exacte : elle tolère un changement de format, de résolution ou de léger recadrage, tout en distinguant clairement des contenus réellement différents.
Quand la ressemblance compte plus que l’égalité
Vérifier qu’une photo envoyée correspond bien au produit attendu, contrôler qu’une image de profil n’a pas été remplacée par un visuel sans rapport, s’assurer que deux versions montrent la même scène : ces cas demandent une mesure de ressemblance, pas une égalité stricte. Là où une empreinte perceptuelle repère surtout les copies proches, la comparaison par le sens juge aussi des images visuellement différentes mais portant sur le même sujet. Vous choisissez l’outil selon que vous cherchez des doublons ou une correspondance de contenu.
Formats, limites et canaux
Vous soumettez deux images JPEG, PNG ou WebP, chacune dans la limite de 15 Mo et 12 mégapixels. L’outil renvoie leur score de ressemblance. Cette page effectue la comparaison à la demande ; pour vérifier des paires en série — rapprocher des photos d’un catalogue, contrôler des envois —, la même capacité s’appelle via l’API, avec l’arrivée prochaine des applications mobiles, de l’e-mail et de Telegram. Le canal web convient à un contrôle ponctuel, l’API à un volume régulier.
Cas d’usage
Vérifier une photo reçue
L’Atelier Garnier SARL reçoit d’un fournisseur une photo censée montrer la même pièce que sa fiche. La comparaison confirme qu’il s’agit bien du même meuble, malgré un angle et une lumière différents.
Contrôler une image de profil
Une plateforme veut s’assurer qu’une photo de profil n’a pas été remplacée par un visuel sans rapport. Le score de ressemblance signale un changement radical d’image à valider manuellement.
Rapprocher deux versions d’un visuel
Le Studio Lumen SAS hésite entre deux fichiers d’une même affiche. La comparaison confirme qu’ils montrent la même composition, l’un n’étant qu’une variante recadrée de l’autre.
Questions fréquentes
L’outil compare-t-il les pixels ou le contenu ?
Le contenu. Il évalue si les deux images montrent le même sujet, même avec un cadrage, une taille ou un angle différents. C’est une mesure de ressemblance, pas une égalité stricte octet par octet.
Quelle différence avec l’empreinte perceptuelle ?
L’empreinte perceptuelle repère surtout les copies proches d’une même image. La comparaison par le sens juge aussi des visuels différents portant sur le même sujet ; choisissez selon que vous cherchez des doublons ou une correspondance de contenu.
Que renvoie exactement l’outil ?
Un score de ressemblance entre les deux images soumises, qui situe la paire du très proche au très différent. À vous de fixer le seuil au-delà duquel vous considérez qu’elles correspondent.
Mes images sont-elles conservées après la comparaison ?
Non. Les deux fichiers servent au calcul du score, puis ne sont pas conservés. Rien n’est archivé, réutilisé ni partagé une fois le résultat renvoyé.
Combien coûte une comparaison ?
Le tarif est de $0.002 par requête et de $0.0015 par image, en dollars US. Sans abonnement : vous payez à l’usage, uniquement les comparaisons réellement effectuées.
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/compare \
-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/compare", {
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/compare",
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/compare", 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/compare", 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.compare",
"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. |