Rendre une couleur plus chaude ou froide
Cet outil modifie la température visuelle d’une couleur hexadécimale au moyen d’un réglage RGB simple et reproductible.
Lancer gratuitement
Une valeur positive augmente le rouge et diminue le bleu ; une valeur négative fait l’inverse. Le vert reste inchangé et chaque résultat est borné à la plage valide de 0 à 255. Cette méthode directe convient aux variantes de palette prévisibles, aux changements reproductibles de jetons graphiques et aux transformations faciles à auditer, sans modèle subjectif ni conversion approximative depuis les kelvins.
Choisissez une couleur et un décalage signé
Commencez par une couleur hexadécimale de trois ou six chiffres, avec ou sans dièse initial. La notation courte est développée avant tout calcul : #69C est donc traité exactement comme #6699CC. Choisissez ensuite un entier compris entre -255 et 255. Une valeur positive donne un résultat plus chaud : elle est ajoutée au rouge et soustraite du bleu. Une valeur négative donne un résultat plus froid, puisqu’elle réduit le rouge et augmente le bleu. Zéro renvoie la couleur d’origine normalisée et indique une direction inchangée. Le canal vert est volontairement préservé. Cette règle étroite rend l’opération facile à expliquer, à tester et à répéter dans un système graphique. Elle ne prétend ni simuler une source lumineuse physique ni convertir des kelvins. Elle fournit plutôt un réglage contrôlé des canaux, dont l’effet est visible et dont le calcul reste identique dans le navigateur et dans l’API. Préférez de faibles valeurs absolues pour des variantes discrètes, et des valeurs plus élevées pour une dominante chaude ou froide nettement perceptible.
Comprenez le bornage et le résultat déterministe
Les canaux RGB ne peuvent pas descendre sous 0 ni dépasser 255. L’outil borne donc chaque valeur rouge ou bleue après réglage à cet intervalle valide. Si vous réchauffez une couleur dont le rouge est déjà proche de 255, celui-ci peut rester à 255 plutôt que produire une valeur impossible, tandis que le bleu continue de diminuer jusqu’à 0. Le refroidissement applique la règle symétrique. Ce bornage est essentiel, car un calcul non contrôlé peut déborder ou créer un code couleur invalide. Il fait ici partie du comportement annoncé, ce qui rend les cas extrêmes sûrs et prévisibles. La réponse comprend la couleur hexadécimale d’origine normalisée, le résultat en six chiffres majuscules, le décalage signé, une direction et les valeurs RGB finales. Aucun réseau, hasard, horaire actuel, profil colorimétrique ni état caché n’influence le calcul. Des entrées identiques produisent donc toujours des sorties identiques. Le décalage doit être un entier fini : les décimales, chaînes numériques, infinis, valeurs absentes et quantités hors plage sont refusés sans arrondi silencieux.
Intégrez le décalage de température à vos couleurs
Un réglage déterministe est particulièrement utile lorsqu’une équipe veut obtenir des couleurs apparentées sans ajouter une étape de retouche opaque. Vous pouvez réchauffer un accent pour une campagne automnale, refroidir un ton neutre pour un état d’interface ou générer deux variantes afin de prévisualiser un thème. Comme l’opération préserve le vert et modifie symétriquement le rouge et le bleu jusqu’à une éventuelle borne, chaque personne chargée de la révision peut relier le résultat à une règle concise. Cette traçabilité est précieuse dans les scripts, chaînes de jetons, tests instantanés et systèmes de génération de contenu où des réglages manuels seraient difficiles à reproduire. Vous pouvez aussi comparer plusieurs intensités : envoyez la même couleur de base avec différents entiers et conservez le décalage renvoyé avec chaque résultat. Il s’agit toutefois d’une transformation stylistique RGB, et non d’une adaptation chromatique ou d’un réglage perceptuellement uniforme. Deux couleurs soumises à la même valeur peuvent sembler évoluer différemment, surtout lorsqu’un canal atteint une borne. Pour des travaux colorimétriques précis, utilisez une chaîne gérant les espaces colorimétriques. Pour réchauffer ou refroidir rapidement et clairement des couleurs hexadécimales, ce calcul limité est parfaitement adapté.
Cas d’usage
Créer les variantes chaudes et froides d’un thème
Appliquez des décalages signés aux jetons partagés afin que les deux variantes suivent une règle vérifiable.
Adapter les accents d’une campagne
Réchauffez un accent pour une création saisonnière ou refroidissez-le afin d’obtenir un rendu plus calme.
Automatiser des changements de couleur reproductibles
Réutilisez le même entier dans les scripts, tests et métadonnées sans retouche manuelle dans un sélecteur.
Questions fréquentes
Quel est l’effet d’un décalage positif ?
Il ajoute la valeur au rouge, la soustrait du bleu, conserve le vert et qualifie le résultat de plus chaud.
Comment obtenir une couleur plus froide ?
Utilisez une valeur négative. Elle réduit le rouge et augmente le bleu selon sa valeur absolue.
Que se passe-t-il si un canal dépasse sa plage ?
Le rouge et le bleu ajustés sont bornés entre 0 et 255, de sorte que le résultat reste toujours une couleur RGB valide.
Cet outil convertit-il une température en kelvins ?
Non. Il applique un décalage déterministe aux canaux RGB d’une couleur hexadécimale existante ; il ne modélise aucune source lumineuse physique.
Le décalage peut-il comporter des décimales ?
Non. Il doit s’agir d’un entier fini compris entre -255 et 255 inclus. Toute valeur incorrecte est refusée.
Combien coûte l’utilisation de l’API ?
Chaque requête API coûte $0.002. L’outil du navigateur exécute localement le même calcul déterministe.
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/temperature-shift \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"color":"#6699CC","shift":32}'const res = await fetch("https://api.kit.forhosting.com/color/temperature-shift", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"color": "#6699CC",
"shift": 32
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/temperature-shift",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"color": "#6699CC",
"shift": 32
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/temperature-shift", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"color":"#6699CC","shift":32}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"color":"#6699CC","shift":32}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/temperature-shift", 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": "#6699CC",
"shift": 32
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.temperature_shift",
"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. |