Vérifier si une couleur est chaude ou froide par sa teinte
Le vérificateur de couleur chaude ou froide convertit une valeur hexadécimale en angle de teinte, puis la compare à deux centres fixes.
Lancer gratuitement
Le rouge à 0 degré est le centre chaud et le cyan à 180 degrés le centre froid : le centre le plus proche détermine le résultat. Les teintes exactement situées sur une limite sont classées comme froides afin de résoudre toute égalité de façon stable. La réponse fournit la couleur normalisée, la teinte, la catégorie et la distance angulaire, pour une décision transparente et reproductible dans vos outils de création, vos tests et vos traitements automatisés.
Comment la catégorie chaude ou froide est déterminée
Ce vérificateur applique une définition géométrique au cercle de teinte RGB standard. Le rouge, à 0 degré, forme le centre de la moitié chaude ; le cyan, à 180 degrés, celui de la moitié froide. Après conversion de la couleur hexadécimale en teinte, le calculateur mesure la distance angulaire la plus courte jusqu'au centre chaud. Une distance inférieure à 90 degrés donne chaude, tandis qu'une distance égale ou supérieure à 90 degrés donne froide. Les deux séparations se trouvent donc à 90 et 270 degrés. Ces positions étant équidistantes des deux centres, le calculateur attribue les égalités exactes à la catégorie froide. Cette convention explicite empêche deux applications de traiter différemment une couleur limite. Le résultat affiche la teinte et la distance réellement utilisées : la décision est vérifiable et ne repose pas sur une appréciation cachée. Il s'agit d'une convention numérique pratique ; l'éclairage, les couleurs voisines et le contexte culturel peuvent néanmoins modifier la chaleur perçue.
Saisir une couleur et lire le résultat
Saisissez une couleur RGB hexadécimale sous la forme à trois chiffres, par exemple #F60, ou à six chiffres, par exemple #FF6600. Le dièse initial est facultatif et la casse des lettres n'a aucune incidence. La réponse développe la notation courte et renvoie une valeur majuscule à six chiffres dans le champ color. Le champ hue_degrees indique la position calculée entre 0 inclus et 360 exclu. Category contient l'étiquette chaude ou froide demandée. Distance_from_warm_center indique l'écart avec le rouge par le trajet le plus court sur le cercle, et les deux champs de centre rappellent les angles de référence. Un résultat proche d'une distance de 90 degrés se situe près de la séparation et peut sembler dépendre du contexte, même si la réponse informatique reste stable. Le noir, le blanc et tous les gris exacts sont refusés : leurs canaux rouge, vert et bleu sont égaux, donc leur teinte est mathématiquement indéfinie.
Exploiter des étiquettes déterministes dans un flux
Une étiquette déterministe est utile lorsqu'une palette doit être filtrée, testée ou orientée sans refaire constamment une appréciation humaine. Un script de système graphique peut classer des couleurs d'accent candidates et vérifier qu'une collection chaude ne contient que des résultats chauds. Un catalogue peut ajouter un filtre de température interrogeable aux échantillons chromatiques des produits. Un générateur de graphiques peut sélectionner une famille contrastée après avoir contrôlé la catégorie. Le calcul n'utilise ni réseau, ni hasard, ni état conservé, ni heure courante : une entrée identique produit toujours la même sortie. Pour l'automatisation via API, chaque requête coûte $0.002 ; l'exécuteur du navigateur emploie le même calcul pur. Considérez cette étiquette comme une propriété mesurable, et non comme une théorie complète de l'apparence. La saturation et la luminosité ne déplacent pas l'angle de teinte, mais influencent fortement la perception. Pour une direction artistique nuancée, examinez ensuite la couleur avec son fond et sa palette prévus.
Cas d’usage
Organiser une palette numérique
Répartissez les échantillons hexadécimaux chromatiques en groupes chauds et froids stables avant la validation graphique.
Tester des jetons graphiques
Vérifiez que les jetons sémantiques d'un thème chaud ou froid restent dans la moitié attendue après modification.
Étiqueter les couleurs des produits
Ajoutez une catégorie de température stable aux échantillons chromatiques d'un catalogue pour faciliter filtres et classement.
Questions fréquentes
Quels angles sont considérés comme chauds ?
Une teinte est chaude si sa distance la plus courte au rouge à 0 degré est inférieure à 90 degrés : de 0 à moins de 90, ou au-delà de 270 jusqu'à moins de 360 degrés.
Que se passe-t-il exactement sur la séparation ?
Les angles de 90 ou 270 degrés exactement sont à égalité entre les deux centres. La règle stable les classe comme froids.
Pourquoi le gris, le noir et le blanc sont-ils refusés ?
Leurs canaux RGB sont égaux ; ils ne possèdent donc aucun angle de teinte défini. Leur attribuer une catégorie contredirait la règle.
La saturation ou la luminosité changent-elles la catégorie ?
Non. Elles modifient l'apparence, mais cette capacité classe volontairement les couleurs d'après le seul angle de teinte.
Quels formats de couleur sont acceptés ?
Les valeurs RGB hexadécimales à trois ou six chiffres sont acceptées, avec ou sans dièse. Les canaux alpha et noms de couleurs sont exclus.
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/color/warm-or-cool \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"color":"#E85D04"}'const res = await fetch("https://api.kit.forhosting.com/color/warm-or-cool", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"color": "#E85D04"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/warm-or-cool",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"color": "#E85D04"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/warm-or-cool", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"color":"#E85D04"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"color":"#E85D04"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/warm-or-cool", 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
{
"color": "#E85D04"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.warm_or_cool",
"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.
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. |