Gerador de variantes quentes e frias de uma cor
Uma paleta de variantes quentes e frias permite explorar a temperatura visual sem perder a identidade da cor original.
Executar grátis
Informe uma cor hexadecimal cromática e receba cinco valores coordenados: duas opções mais quentes, a base normalizada e duas opções mais frias. Cada variante preserva a saturação e a luminosidade de origem enquanto o matiz se aproxima de um alvo laranja ou azul definido. Assim, entradas iguais sempre geram a mesma paleta compacta e fácil de explicar.
Como as variantes quentes e frias são criadas
O gerador primeiro converte a cor hexadecimal de RGB para HSL, espaço no qual o matiz pode ser ajustado independentemente da saturação e da luminosidade. Ele adota 30 graus como alvo quente, na região do laranja, e 220 graus como alvo frio, na região do azul. Em cada direção, uma variante suave percorre 35 por cento da menor distância circular até o alvo, enquanto uma variante forte percorre 70 por cento. Usar o caminho mais curto é importante perto do limite de zero grau, pois o matiz forma um círculo, não uma linha numérica. A saturação e a luminosidade originais permanecem iguais, o que mantém os cinco resultados relacionados em vez de formar uma coleção arbitrária de cores mais claras, escuras, vivas ou opacas. A resposta vem na ordem quente forte, quente suave, base, fria suave e fria forte. Cada registro informa temperatura e intensidade, além do valor hexadecimal e do matiz calculado em graus. Como alvos, proporções, arredondamento e ordem são fixos, a mesma entrada válida sempre produz exatamente a mesma paleta em qualquer ambiente compatível.
Como escolher e interpretar a cor base
Informe uma cor CSS hexadecimal de três ou seis dígitos, com ou sem o sinal de cerquilha inicial. A notação de três dígitos é expandida antes do cálculo, e a resposta inclui o valor normalizado de seis dígitos. Uma base cromática funciona melhor porque a variação de temperatura depende de um matiz significativo. Cinza neutro, preto puro e branco puro têm saturação HSL igual a zero, portanto não possuem um matiz que possa ser direcionado honestamente ao laranja ou ao azul. O gerador rejeita essas entradas em vez de inventar saturação e devolver cores que deixariam de seguir uma transformação apenas de matiz. Considere as variantes suaves como alternativas discretas para estados próximos de uma interface, elementos gráficos de apoio ou detalhes secundários. As variantes fortes mostram mudanças de temperatura mais evidentes sem abandonar a saturação e a luminosidade da fonte. A paleta auxilia a coordenação criativa, mas não verifica contraste. Antes de aplicar um resultado a textos, controles, indicadores de estado ou outros elementos importantes para acessibilidade, avalie a combinação específica de primeiro plano e fundo com uma ferramenta dedicada. Também examine as cores no contexto final, pois tons vizinhos alteram sua percepção.
Como usar paletas determinísticas no fluxo de trabalho
Uma transformação fixa é especialmente útil quando as cores precisam ser regeneradas por código, documentadas em um sistema de design ou revisadas por várias equipes. Você pode armazenar uma única cor base aprovada e obter as mesmas alternativas quentes e frias sempre que criar um tema, gráfico, ilustração ou material de campanha. Isso reduz a variação causada por escolhas manuais e deixa a origem de cada amostra fácil de justificar: as variantes diferem por um deslocamento mensurável de matiz, não por uma decisão visual sem registro. O conjunto com cinco cores é propositalmente compacto para facilitar a comparação imediata. Uma equipe de produto pode reservar as opções suaves para estados de interação e fundos, usando as fortes para destaque; uma equipe de dados pode separar cenários quentes e frios mantendo a mesma intensidade visual; profissionais de ilustração podem adotar o conjunto como ponto de partida controlado antes dos ajustes de contexto. A API custa US$ 0,002 por solicitação, enquanto o navegador executa localmente a mesma lógica determinística. Nenhum dos caminhos usa consulta externa, aleatoriedade, horário, histórico do usuário ou perfil de cor dependente do ambiente.
Casos de uso
Criar alternativas para um tema
Derive detalhes quentes e frios, discretos ou marcantes, de uma cor de marca aprovada sem alterar sua saturação ou luminosidade.
Montar cores equilibradas para gráficos
Represente condições mais quentes e mais frias com matizes coordenados que mantêm a intensidade visual da cor de origem.
Documentar tokens de design
Armazene um token base e reproduza as mesmas quatro variantes de temperatura no código, nos arquivos de design e nas notas de revisão.
Perguntas frequentes
Quantas cores o gerador retorna?
Ele retorna cinco cores em ordem fixa: quente forte, quente suave, base, fria suave e fria forte.
Quais são os alvos quente e frio?
As variantes quentes avançam para o laranja a 30 graus, e as frias para o azul a 220 graus, pelo menor caminho no círculo de matizes.
O gerador altera a saturação ou a luminosidade?
Não. Ele preserva os dois valores da cor base e modifica somente o matiz.
Por que cinza, preto e branco são rejeitados?
Cores acromáticas não têm matiz HSL significativo. Adicionar saturação criaria cor em vez de executar o deslocamento de matiz prometido.
Posso usar essas cores em textos acessíveis?
A paleta não certifica contraste. Verifique cada combinação de primeiro plano e fundo com uma ferramenta específica de acessibilidade.
Quanto custa uma solicitação de API?
Cada solicitação de API custa US$ 0,002. O mesmo cálculo determinístico também pode ser executado no navegador.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/color/temperature-palette \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"color":"#6f4bb8"}'const res = await fetch("https://api.kit.forhosting.com/color/temperature-palette", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"color": "#6f4bb8"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/temperature-palette",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"color": "#6f4bb8"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/temperature-palette", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"color":"#6f4bb8"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"color":"#6f4bb8"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/temperature-palette", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"color": "#6f4bb8"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.temperature_palette",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |