Colour Intelligence API

The API that makes your AI the most interesting in the room.

Every colour anchored to a named person, a documented year, and a consequence.

60% Prussian Blue 30% Cobalt 10% Gamboge
The proof
"What colour marks the edge of the known world?"
#8B9E2F LRV 32.4
Islamic Archive
Qazwini Cosmography Green

Al-Qazwini chose this yellow-green for the margins of his 13th-century cosmography — not gold (paradise) nor blue (the divine vault), but this: the shoreline of the knowable. The Byzantine archive recorded the same colour at their map's edge. Their word for it translated as "where God stops answering."

Islamic Archive Resonance: China dE 2.95
Archive result. Not a guess.
Verified
Every entry sourced
Global
Cultural archives
MCP
Native tool support
UK TM
Classes 9, 35 & 42
Zero
Data retained
The problem
RGB describes pixels.
Humans experience colour through material, history, light, and culture.
01
Colour is material The same hex value looks different on cotton, brick, and screen. Physics changes the experience.
02
Colour is historical Some colours carry trade restrictions, imperial prohibitions, or sacred status that no RGB value encodes.
03
Colour is contextual The same green reads as growth in one culture and mourning in another. AI systems need to know this.
04
Colour is chemical Mix Verdigris with White Lead in oil and you get Cennini's 1390 guild warning: they are "mortal enemies in everything." No hex value carries that.
Intelligence in action

One question.
Every archive answers.

Ask the archive what colour grief is. It pulls every culture's answer simultaneously. None of them agree. That disagreement is the intelligence.

Try it live
Query "What is the colour of grief?"
China · Qing Dynasty
White. Undyed cloth. You did not add colour to grief. You removed it.
Victorian England
Crape black. The weave killed light. Women were legally expected to wear it for two years and three months. The duration was codified.
Brazil · Catholic tradition
Roxo de Luto. Purple — between the red of life and the black of death.
West Africa · Andes
Red. Both traditions. No contact with each other. Same answer.
International Archives

Every colour carries a story.
The API delivers both.

LRV 15.4
Pigment Heritage
Egyptian Blue
Calcium copper silicate. Synthesised circa 3000 BC. Oldest known synthetic pigment. Lost 1,500 years. Fluoresces under near-infrared.
LRV 3.8
Pigment Heritage
Tyrian Purple
Bolinus brandaris sea snail. Tyre, Phoenicia. Approximately 10,000 snails per gram. Wearing it without imperial authorisation was punishable by death.
LRV 57.3
China / Qing Court
Qianlong Imperial Yellow
Reserved exclusively for the emperor. Wearing it without sanction was treason. The Forbidden City's roof tiles are still this yellow. The hierarchy of the entire Qing empire is still readable from outside the walls.
LRV 5.1
Islamic / Ottoman
Ottoman Green Velvet
Woven in the royal workshops of Bursa. Hierarchically controlled by rank. Pile height specified. A voided silk velvet in this green, worn outside the designated rank, was treason stated in fabric. The cloth was a document.
LRV 8.2
Spain / Casa de Contratación
Contratación Lacre
Cochineal. Dactylopius coccus on Opuntia cactus. Aztec origin. Ten times more potent by weight than any European red. The Spanish kept the biological source a state secret for two hundred years.
LRV 4.9
India / Bengal 1859
Bengal Indigo
Indigofera tinctoria. Forced cultivation under the tinkathia system. The 1859 peasant uprising was coordinated and sustained. The trade war ended not because justice prevailed but because chemistry did.
LRV 11.4
British Archive
Brazilwood Crimson Market Red
Caesalpinia echinata. A country named for a dye. In Victorian drawing rooms within a decade of hanging, it was already leaving. This is a dye. It fades. Specify a pigment for permanence.
LRV 32.4
Islamic Archive
Qazwini Cosmography Green
Zakariya al-Qazwini, 13th century. Chosen for the margins where the reliable world ended. The Byzantine archive recorded the same colour at their map's edge. Their word translated as "where God stops answering."
LRV 50.2
Keats / The Letters
Keats's Lung
February 3, 1820. He coughed. He saw the colour on his pillow and told Brown immediately: "I know the colour of that blood. It is my death-warrant." He was a trained apothecary-surgeon. He understood arterial red. He was right. Thirteen months later.

Scroll to explore the archive

"Colour signals authority only for as long as the institution enforcing it remains intact.
The moment the institution collapses, the colour becomes a historical record of a threat that no longer exists."

The archive / Query: what colour signals legitimate authority?

For developers & AI systems
Colour as structured intelligence.

REST endpoints and MCP server at /mcp. Returns hex, Lab, LRV, gamut flags, WCAG ratios, cultural restrictions, pigment chemistry, and cross-archive resonance connections. Compatible with any MCP agent.

Read the docs →
For artists & conservators
Centuries of what not to mix.

The /mix endpoint checks pigment compatibility against documented warnings from Cennini (1390), Tingry (1830), Field (1835), and Church (1890). Send two pigments and a medium. Receive the actual guild warning.

Pigment compatibility →
For brand studios
Cultural context before it costs you.

Before a colour goes to market, know its history across every archive. Halal disqualification, imperial prohibition, Islamic geometric tradition, indigenous pigment sovereignty. The archive knows.

Cultural intelligence →
API Reference

Three endpoints.
One decision: what to ask.

/match a hex or name. /specify a room. /mix two pigments and a medium — and receive the historical incompatibility warning.

# Match a hex to the archive curl -X POST \ https://colour-memory-api-production\ .up.railway.app/match \ -H 'Content-Type: application/json' \ -d '{"hex": "003153"}'
# Check pigment compatibility curl -X POST \ https://colour-memory-api-production\ .up.railway.app/mix \ -H 'Content-Type: application/json' \ -d '{"pigments": ["Verdigris", "White Lead"], "medium": "oil"}'
// Fetch resonance connections const res = await fetch( `/colour/Prussian_Blue` ); const { name, hex, resonance, provenance } = await res.json();
Response — /mix · Verdigris + White Lead · oil
{
  "compatible": false,
  "warning": {
    "source":  "Cennini, c.1390",
    "text":    "mortal enemies
              in everything",
    "medium":  "oil",
    "effect":  "accelerated
              darkening"
  },
  "pigments": [
    { "name": "Verdigris",
      "archive": "PigmentHistorical" },
    { "name": "White Lead",
      "archive": "PigmentHistorical" }
  ],
  "resonance": 232394
}
Images processed, never stored Upload for palette extraction. The image is discarded the moment processing completes.
Queries are not logged Your colour research is your competitive advantage. We have no interest in what you are building.
Your data never trains our model The archive is the archive. Queries do not update, retrain, or influence future results.
GDPR compliant UK registered. No personal data collected beyond an API key. Nothing to delete, because nothing is kept.
Pricing

Start free.
Scale when you're ready.

Trial calls are free and instant. Studio from £29/month. A colour consultant charges £300 for an afternoon. The API answers in milliseconds.

Founding rates close at Q3 launch.

Claim your free calls See all plans