API aperta
Cinque endpoint gratuiti, senza registrazione, senza chiave, abilitati CORS. Stessi dati del sito: lo spazio a 24 bit, 32.258 colori nominati, 17.756 campioni standard e 659 colori tradizionali cinesi.
Endpoint in sintesi
Ogni endpoint è abilitato CORS: puoi recuperarlo direttamente dal browser o da Node.js.
GET/api/search?q=crimson&limit=8
Cerca colori per nome, codice standard, nome tradizionale o HEX
Parametri
| q | Parola chiave di query: valore HEX (ff0000), nome colore (crimson) o codice standard (RAL 3020) |
| limit | Risultati massimi, valore predefinito 12, limite massimo 50 |
Richiesta di esempio
curl "https://www.yanseku.com/api/search?q=crimson&limit=8"
Il fetch diretto funziona nel browser (CORS abilitato).
Risposta di esempio
{
"query": "crimson",
"results": [
{ "name": "BM 1299 Crimson", "hex": "b1625b", "source": "standard", "system": "benjamin_moore", "code": "BM 1299" },
{ "name": "crimson", "hex": "dc143c", "source": "standard", "system": "css_named", "code": "crimson" }
]
}GET/api/color/e63946
Profilo colore: 10 formati + colori nominati più vicini + corrispondenze tra 8 sistemi standard + corrispondenze tradizionali + 6 armonie + contrasto
Parametri
| hex | Valore colore: 3 o 6 cifre hex (e63946 o e63) |
Richiesta di esempio
curl "https://www.yanseku.com/api/color/e63946"
Risposta di esempio
{
"hex": "e63946",
"formats": {
"rgb": { "r": 230, "g": 57, "b": 70 },
"hsl": { "h": 355.5, "s": 77.6, "l": 56.3 },
"hsv": { "h": 355.5, "s": 75.2, "v": 90.2 },
"cmyk": { "c": 0, "m": 75.2, "y": 69.6, "k": 9.8 },
"xyz": { "x": 0.352, "y": 0.2019, "z": 0.0784 },
"lab": { "L": 52.06, "a": 65.72, "b": 34.14 },
"oklch": { "L": 0.612, "c": 0.208, "h": 22.2 },
"webSafe": "ff3333",
"css": { "rgb": "rgb(230, 57, 70)", "hsl": "hsl(355.5, 77.6%, 56.3%)" }
},
"named": {
"closest": { "name": "Paint the Town Red", "hex": "e63045", "deltaE": 1.34, "exact": false },
"nearest": [ { "name": "Red Radish", "hex": "ee3344", "deltaE": 1.36, "exact": false } ]
},
"standards": [
{ "system": "ncs", "systemName": "NCS (Natural Color System)", "code": "NCS S 0570-Y90R", "name": "NCS S 0570-Y90R", "hex": "e6373f", "deltaE": 1.69, "exact": false },
{ "system": "munsell", "systemName": "Munsell (Re-renotation)", "code": "7.5R 6/16", "name": "7.5R 6/16", "hex": "dd3743", "deltaE": 2.02, "exact": false }
],
"traditional": [
{ "name": "火红", "hex": "ff2d51", "cat": "红", "deltaE": 4.88, "exact": false },
{ "name": "银红", "hex": "f05654", "cat": "红", "deltaE": 5.89, "exact": false }
],
"harmony": [
{ "type": "complementary", "colors": ["e63946", "39e6d9"] },
{ "type": "split-complementary", "colors": ["e63946", "39e683", "399de6"] }
],
"contrast": {
"onWhite": { "ratio": 4.17, "levels": { "aaNormal": false, "aaLarge": true, "aaaNormal": false, "aaaLarge": false } },
"onBlack": { "ratio": 5.04, "levels": { "aaNormal": true, "aaLarge": true, "aaaNormal": false, "aaaLarge": true } },
"bestText": "#000000"
}
}GET/api/scheme?hex=e63946&mode=triadic
Schema di armonia: sei regole attorno al tuo colore base
Parametri
| hex | Valore colore: 3 o 6 cifre hex (e63946 o e63) |
| mode | Modalità armonia, valore predefinito complementare. Opzioni: complementare / split-complementare / triadico / tetradico / analogo / monocromatico |
Richiesta di esempio
curl "https://www.yanseku.com/api/scheme?hex=e63946&mode=triadic"
Risposta di esempio
{
"hex": "e63946",
"mode": "triadic",
"count": 3,
"colors": ["e63946", "46e639", "3946e6"]
}GET/api/contrast?fg=ffffff&bg=e63946
Verifica contrasto: rapporto WCAG + livelli AA/AAA + miglior colore testo
Parametri
| fg | Hex primo piano, es. ffffff |
| bg | Hex sfondo, es. e63946 |
Richiesta di esempio
curl "https://www.yanseku.com/api/contrast?fg=ffffff&bg=e63946"
Risposta di esempio
{
"fg": "ffffff",
"bg": "e63946",
"ratio": 4.17,
"label": "AA Large",
"levels": { "aaNormal": false, "aaLarge": true, "aaaNormal": false, "aaaLarge": false },
"bestText": "#000000"
}GET/api/random?count=5
Colori casuali dal pool di nomi curato, fino a 10
Parametri
| count | Numero di colori, 1-10, valore predefinito 1 |
Richiesta di esempio
curl "https://www.yanseku.com/api/random?count=5"
Risposta di esempio
{
"count": 3,
"colors": [
{ "name": "Sea Foam Green", "hex": "c2e4d0" },
{ "name": "Deep Koamaru", "hex": "333366" },
{ "name": "Laser Lemon", "hex": "ffff66" }
]
}Download di dati aperti
Oltre all'API - porta con te l'intero colore库. Formato CSV (UTF-8, riga di intestazione), pronto per analisi dati, machine learning e ricerca su sistemi di design. I nomi dei campi sono nell'intestazione; i dataset vengono aggiornati ad ogni build.
I nomi dei colori derivano da meodai/color-names (MIT) e dal xkcd Color Survey; i colori dei marchi dai dati aperti di simple-icons; i colori tradizionali cinesi da zerosoul/chinese-colors e zhongguose.com; i valori dei campioni standard sono conversioni simulate al computer: verificarli rispetto ai campioni fisici per la produzione. Attenersi alle licenze upstream rispettive.
Pacchetti open-source
Il motore e i dati del sito sono disponibili come librerie open-source: funzionanti offline, pronte per la produzione. Tre pacchetti npm coprono il motore, i dataset e un server MCP, più una porta Python e un dataset HuggingFace.
Motore colore: conversioni in 10 formati, CIEDE2000, APCA, blending OKLab, 6 regole di armonia, simulazione della visione - matematica pura, zero dipendenze
npm install @yanseku/color
Dataset: 17 corpora, oltre 85.000 voci (colori nominati, campioni standard, tradizionali, giapponesi, marchi...), JSON con LAB pre-calcolato
npm install @yanseku/data
Server MCP: integra l'intero color database in Claude / Cursor - 7 strumenti offline
npm install -g @yanseku/mcp
Porta Python: pip install and go - stessa matematica D65 e deltaE2000, 659 storie tradizionali incluse
pip install yanseku
Configurazione MCP (claude_desktop_config.json)
{
"mcpServers": {
"yanseku": {
"url": "https://www.yanseku.com/api/mcp"
}
}
}Configurazione MCP - locale (npx, offline)
{
"mcpServers": {
"yanseku": {
"command": "npx",
"args": ["-y", "@yanseku/mcp"]
}
}
}Confronto delle funzionalità con altre librerie colore
Le librerie comuni si occupano solo di matematica; il livello unico di Yanseku sono i dati: ricerca di colori per nome, corrispondenza con campioni ufficiali e storie dei colori tradizionali.
| Funzionalità | Yanseku | colorjs.io | culori | chroma-js |
|---|---|---|---|---|
| Conversioni di spazio colore (10 formati) | ✔ | ✔ | ✔ | |
| Differenza di colore CIEDE2000 | ✔ | ✔ | ✔ | |
| Contrasto percettivo APCA | ✔ | ✘ | ✘ | |
| Simulazione della visione dei colori (8 tipi) | ✔ | ✘ | ✘ | |
| Ricerca di colori per nome (32.258) | ✔ 32,258 | ✘ | ✘ | |
| Corrispondenza con campioni ufficiali (12 sistemi) | ✔ 17,756 | ✘ | ✘ | |
| Storie dei colori tradizionali cinesi (659) | ✔ 659 | ✘ | ✘ | |
| Regole di armonia percettiva | ✔ 6 rules | ✘ | ✔ palette | |
| Server MCP (offline) | ✔ remote + offline | ✘ | ✘ | |
| Porting Python | ✔ | ✘ | ✘ | |
| CSV completo / Dataset HF | ✔ 17 sets | ✘ | ✘ |
Dove ottenerlo: npm (@yanseku/color · @yanseku/data · @yanseku/mcp) · PyPI (yanseku) · HuggingFace (yanseku/chinese-traditional-colors)
source: standard = campione ufficiale; community = colore nominato dalla community; traditional = Chinese traditional color
Endpoint pubblico gratuito - si prega di essere ragionevoli (si suggerisce ≤ 60 req/min).