ForHosting KIT · Developer Utilities

Warm and cool color variant palette generator

A warm and cool color variant palette helps you explore temperature without losing the identity of the color you started with.

● BetaFree · in your browser
Use it from WebAPIEmailTelegramApp soon

Enter a chromatic hexadecimal color and receive five coordinated values: two warmer choices, the normalized base, and two cooler choices. Every variant preserves the source saturation and lightness while its hue moves toward a defined orange or blue target, so repeated requests always produce the same compact, explainable palette.

How the warm and cool variants are created

The generator first converts the hexadecimal source from RGB into HSL, where hue can be adjusted independently from saturation and lightness. It treats 30 degrees as the warm orange target and 220 degrees as the cool blue target. For each side, a soft variant travels 35 percent of the shortest circular distance toward its target, while a strong variant travels 70 percent. Taking the shortest path matters near the zero-degree boundary because hue is a circle, not a straight number line. The original saturation and lightness remain unchanged, which makes the five results feel related instead of becoming an arbitrary collection of brighter, duller, darker, or lighter colors. The returned order is strong warm, soft warm, base, soft cool, and strong cool. Each record names its temperature and strength and includes both a hexadecimal value and its computed hue in degrees. Because the targets, interpolation amounts, rounding rules, and output order are fixed, the same valid input always returns exactly the same palette in every supported execution environment.

Choosing and interpreting a base color

Provide a three-digit or six-digit hexadecimal CSS color, with or without the leading hash. Three-digit notation is expanded before calculation, and the normalized six-digit value is included in the response. A chromatic base works best because temperature variation depends on having a meaningful hue. Neutral gray, pure black, and pure white have zero HSL saturation, so they do not possess a hue that can honestly be steered toward orange or blue. The generator rejects those inputs instead of quietly inventing saturation and returning colors that no longer follow a hue-only transformation. Read the soft variants as restrained alternatives suitable for nearby interface states, supporting graphics, or secondary accents. Read the strong variants as more obvious temperature changes that still retain the source saturation and lightness. The palette is a creative coordination tool, not a contrast checker. Before using any result for text, controls, status indicators, or other accessibility-sensitive elements, evaluate the chosen foreground and background pair with a dedicated contrast tool. Also review colors in their real context, since surrounding colors can change how warm or cool a swatch appears.

Using deterministic temperature palettes in a workflow

A fixed transformation is especially useful when colors must be regenerated in code, documented in a design system, or reviewed across teams. You can store one approved base color and derive the same warm and cool alternatives whenever a theme, chart, illustration, or campaign asset is built. That reduces hand-selected drift and makes the reason for each swatch easy to explain: the variants differ by a measured hue movement, not by an undocumented visual guess. The compact five-color result is intentionally small enough to compare at a glance. A product team might reserve soft variants for hover states and backgrounds, then use strong variants for emphasis; a data team might distinguish warmer and cooler scenarios while keeping equal saturation and lightness; an illustrator might use the set as a controlled starting point before making context-specific refinements. The API price is $0.002 per request, while the browser execution can run the same deterministic logic locally. Neither path uses a network lookup, random values, timestamps, user history, or environment-dependent color profiles, so saved inputs remain reproducible.

Create theme alternatives

Derive restrained and pronounced warm and cool accents from an approved brand color without changing its saturation or lightness.

Build balanced chart colors

Represent warmer and cooler conditions with coordinated hues that share the visual intensity of one source color.

Document design tokens

Store a base token and reproduce the same four temperature variants across code, design files, and review notes.

How many colors does the generator return?

It returns five colors in a fixed order: strong warm, soft warm, base, soft cool, and strong cool.

What are the warm and cool targets?

Warm variants move toward orange at 30 degrees, and cool variants move toward blue at 220 degrees, using the shortest path around the hue circle.

Does the generator change saturation or lightness?

No. It preserves both values from the base color and changes only hue.

Why are gray, black, and white rejected?

Achromatic colors have no meaningful HSL hue. Adding saturation would create color rather than perform the promised hue-only shift.

Can I use these colors for accessible text?

The palette does not certify contrast. Check each foreground and background combination with a dedicated accessibility contrast tool.

What does an API request cost?

Each API request costs $0.002. The same deterministic calculation is also available in the browser.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/color/temperature-palette

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/color/temperature-palette \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"color":"#6f4bb8"}'
{
  "color": "#6f4bb8"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "color.temperature_palette",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Read the full KIT documentation →