Art & Design — entry 003 of 20

Colormind

Verified Jul 2026

Colormind generates five-color palettes from a model trained on movies, art, and popular color schemes, returning a plain array of RGB triples from a single POST to /api/ with no signup. A live probe of the real gateway confirmed it now answers over HTTPS as well as HTTP (correcting https false -> true) and sends Access-Control-Allow-Origin: * on every response, resolving cors unknown -> yes.

Colormind generates five-color palettes from a model trained on movies, art, and popular color schemes, returning a plain array of RGB triples from a single keyless POST -- there's no GET data route at all. A live POST this run against `/api/` with `{"model":"default"}` returned a genuine 5-color palette as `{"result":[[r,g,b],...]}`.

colorpalette-generatordesign-toolsno-auth
AuthenticationNone requiredCall it straight away — no key, no signup.
HTTPSSupportedTraffic is encrypted in transit.
CORSEnabledCallable directly from browser JavaScript.
PricingFreeNo paid tier — free for the documented use case.
FormatsJSONResponses can be requested as JSON.

GreatAPIs Score

Score74out of 100
Authentication25/25No authentication required
Pricing20/20Free to use
Docs0/20No docs or spec available
Formats9/15Single response format
Freshness20/20Verified within 6 months

Embed this badge

Scored 74 on greatapis.com
<a href="https://greatapis.com/api/colormind/"><img src="https://greatapis.com/badge/colormind.svg" alt="Scored 74 on greatapis.com"></a>

Auth quickstart

  1. No API key, signup, or credit card required. A live POST this run against the real gateway returned a genuine palette while carrying `access-control-allow-origin: *` -- nothing to configure before the first call.
Stored keyNo key stored

Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.

Generate a 5-color palette

POSThttps://colormind.io/api/

Content-Type: application/json

{"model":"default"}

200 text/html; charset=UTF-8

{"result":[[78,55,54],[99,135,118],[251,241,205],[177,207,123],[199,78,72]]}

The `input` array (omitted above) accepts `"N"` as a placeholder for any of the 5 slots, letting you lock specific colors and have the model fill in the rest -- e.g. `{"model":"default","input":[[255,0,0],"N","N","N","N"]}` keeps the first color fixed.

Try it

Developer reference

Base URLhttps://colormind.io
Key endpoints
  • POST/api/
  • GET/list/

Gotchas & limits

  • Every response carries `content-type: text/html; charset=UTF-8` -- confirmed on both a valid and a bodyless call this run -- never `application/json`, despite the body being real JSON. Code that gates parsing on the content-type header will skip a response it should have parsed.
  • A bodyless POST, or a plain GET to `/api/`, both return HTTP 200 with the literal plain-text body `empty body` -- a live probe this run confirmed both cases identically. The API never signals the mistake with a status code, so a caller has to check the body content itself, not just the status.
  • An unknown `model` value fails the same invisible way -- a live POST this run with `{"model":"nonexistentmodel"}` returned **HTTP 200** (confirmed identically across four probes, over both HTTP/2 and HTTP/1.1, with and without a `Content-Type` header) whose body is an `openresty` HTML error page titled `500 Internal Server Error`. The 500 is only in the HTML, never in the status line, so `if (res.status >= 500)` never fires and a naive `JSON.parse` runs on markup. As with the `empty body` case above, check the body, not the status. Validate the model name up front against `GET /list/`, which returned `{"result":["ui","default","the_fall","communist","maple_story","stellar_photography"]}` live this run.
  • `POST /api` without the trailing slash 301-redirects to `/api/` -- a live probe this run confirmed the redirect -- and many HTTP clients silently downgrade a redirected POST to a GET, which then yields the bodyless `empty body` response above instead of a palette. Always POST to the slash-terminated path directly.