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.