API ouverte
Cinq points de terminaison gratuits, sans inscription, sans clé, compatibles CORS. Mêmes données que le site : l'espace 24 bits, 32 258 couleurs nommées, 17 756 échantillons standard et 659 couleurs traditionnelles chinoises.
Points de terminaison en un coup d'œil
Chaque point de terminaison est compatible CORS - récupérez-le directement depuis le navigateur ou Node.js.
GET/api/search?q=crimson&limit=8
Rechercher des couleurs par nom, code standard, nom traditionnel ou HEX
Paramètres
| q | Mot-clé de requête : valeur HEX (ff0000), nom de couleur (crimson) ou code standard (RAL 3020) |
| limit | Nombre maximum de résultats, par défaut 12, plafonné à 50 |
Exemple de requête
curl "https://www.yanseku.com/api/search?q=crimson&limit=8"
La récupération directe fonctionne dans le navigateur (CORS activé).
Exemple de réponse
{
"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
Profil couleur : 10 formats + couleurs nommées les plus proches + correspondances sur 8 systèmes standard + correspondances traditionnelles + 6 harmonies + contraste
Paramètres
| hex | Valeur de couleur : 3 ou 6 chiffres hexadécimaux (e63946 ou e63) |
Exemple de requête
curl "https://www.yanseku.com/api/color/e63946"
Exemple de réponse
{
"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
Schéma d'harmonie : six règles autour de votre couleur de base
Paramètres
| hex | Valeur de couleur : 3 ou 6 chiffres hexadécimaux (e63946 ou e63) |
| mode | Mode d'harmonie, par défaut complémentaire. Options : complémentaire / split-complémentaire / triadique / tétradique / analogue / monochromatique |
Exemple de requête
curl "https://www.yanseku.com/api/scheme?hex=e63946&mode=triadic"
Exemple de réponse
{
"hex": "e63946",
"mode": "triadic",
"count": 3,
"colors": ["e63946", "46e639", "3946e6"]
}GET/api/contrast?fg=ffffff&bg=e63946
Vérification de contraste : ratio WCAG + niveaux AA/AAA + meilleure couleur de texte
Paramètres
| fg | Hexadécimal du premier plan, ex. ffffff |
| bg | Hexadécimal de l'arrière-plan, ex. e63946 |
Exemple de requête
curl "https://www.yanseku.com/api/contrast?fg=ffffff&bg=e63946"
Exemple de réponse
{
"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
Couleurs aléatoires issues du pool de noms sélectionné, jusqu'à 10
Paramètres
| count | Nombre de couleurs, 1-10, par défaut 1 |
Exemple de requête
curl "https://www.yanseku.com/api/random?count=5"
Exemple de réponse
{
"count": 3,
"colors": [
{ "name": "Sea Foam Green", "hex": "c2e4d0" },
{ "name": "Deep Koamaru", "hex": "333366" },
{ "name": "Laser Lemon", "hex": "ffff66" }
]
}Téléchargements de données ouvertes
Au-delà de l'API - emportez l'ensemble de la bibliothèque avec vous. Format CSV (UTF-8, ligne d'en-tête), prêt pour l'analyse de données, l'apprentissage automatique et la recherche sur les systèmes de design. Les noms des champs figurent dans l'en-tête ; les jeux de données sont mis à jour à chaque build.
Les noms de couleurs proviennent de meodai/color-names (MIT) et de l'enquête sur les couleurs xkcd ; les couleurs de marques proviennent des données ouvertes de simple-icons ; les couleurs traditionnelles chinoises proviennent de zerosoul/chinese-colors et de zhongguose.com ; les valeurs des échantillons standard sont des conversions simulées par ordinateur - vérifiez-les sur des échantillons physiques pour la production. Respectez les licences amont respectives.
Paquets open-source
Le moteur et les données du site sont proposés sous forme de bibliothèques open-source - capables de fonctionner hors ligne, prêtes pour la production. Trois paquets npm couvrent le moteur, les jeux de données et un serveur MCP, plus un port Python et un jeu de données HuggingFace.
Moteur de couleurs : conversions 10 formats, CIEDE2000, APCA, mélange OKLab, 6 règles d'harmonie, simulation de vision - mathématiques pures, zéro dépendance
npm install @yanseku/color
Jeux de données : 17 corpus, plus de 85 000 entrées (noms de couleurs, échantillons standard, traditionnelles, japonaises, marques...), JSON avec LAB pré-calculé
npm install @yanseku/data
Serveur MCP : connectez l'ensemble de la base de données de couleurs à Claude / Cursor - 7 outils hors ligne
npm install -g @yanseku/mcp
Port Python : pip install et c'est parti - mêmes mathématiques D65 et deltaE2000, 659 histoires traditionnelles incluses
pip install yanseku
Configuration MCP (claude_desktop_config.json)
{
"mcpServers": {
"yanseku": {
"url": "https://www.yanseku.com/api/mcp"
}
}
}Configuration MCP - locale (npx, hors ligne)
{
"mcpServers": {
"yanseku": {
"command": "npx",
"args": ["-y", "@yanseku/mcp"]
}
}
}Comparaison des capacités avec d'autres bibliothèques de couleurs
Les bibliothèques courantes ne font que des calculs mathématiques ; la couche unique de Yanseku est les données : recherche de couleurs nommées, correspondance d'échantillons officiels et histoires de couleurs traditionnelles.
| Capacité | Yanseku | colorjs.io | culori | chroma-js |
|---|---|---|---|---|
| Conversions d'espaces colorimétriques (10 formats) | ✔ | ✔ | ✔ | |
| Différence de couleur CIEDE2000 | ✔ | ✔ | ✔ | |
| Contraste perceptuel APCA | ✔ | ✘ | ✘ | |
| Simulation de la vision des couleurs (8 types) | ✔ | ✘ | ✘ | |
| Recherche de couleur nommée (32 258) | ✔ 32,258 | ✘ | ✘ | |
| Correspondance d'échantillons officiels (12 systèmes) | ✔ 17,756 | ✘ | ✘ | |
| Histoires de couleurs traditionnelles chinoises (659) | ✔ 659 | ✘ | ✘ | |
| Règles d'harmonie perceptuelle | ✔ 6 rules | ✘ | ✔ palette | |
| Serveur MCP (hors ligne) | ✔ remote + offline | ✘ | ✘ | |
| Port Python | ✔ | ✘ | ✘ | |
| Jeu de données complet CSV / HF | ✔ 17 sets | ✘ | ✘ |
Où l'obtenir: npm (@yanseku/color · @yanseku/data · @yanseku/mcp) · PyPI (yanseku) · HuggingFace (yanseku/chinese-traditional-colors)
source : standard = échantillon officiel ; communauté = couleur nommée par la communauté ; traditionnel = couleur traditionnelle chinoise
Endpoint public gratuit - soyez raisonnable (≤ 60 req/min suggéré).