Відкритий API
П’ять безкоштовних кінцевих точок, без реєстрації, без ключа, з підтримкою CORS. Дані такі самі, як на сайті: 24-бітний простір, 32 258 названих кольорів, 17 756 стандартних зразків і 659 китайських традиційних кольорів.
Кінцеві точки коротко
Кожна кінцева точка підтримує CORS — завантажуйте дані безпосередньо з браузера або Node.js.
GET/api/search?q=crimson&limit=8
Пошук кольорів за назвою, стандартним кодом, традиційною назвою або HEX
Параметри
| q | Ключове слово запиту: значення HEX (ff0000), назва кольору (crimson) або стандартний код (RAL 3020) |
| limit | Максимальна кількість результатів, за замовчуванням 12, обмежено 50 |
Приклад запиту
curl "https://www.yanseku.com/api/search?q=crimson&limit=8"
Пряме завантаження працює в браузері (CORS увімкнено).
Приклад відповіді
{
"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
Профіль кольору: 10 форматів + найближчі названі кольори + збіги в 8 стандартних системах + традиційні збіги + 6 гармоній + контраст
Параметри
| hex | Значення кольору: 3 або 16 шістнадцяткових цифр (e63946 або e63) |
Приклад запиту
curl "https://www.yanseku.com/api/color/e63946"
Приклад відповіді
{
"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
Схема гармонії: шість правил навколо вашого базового кольору
Параметри
| hex | Значення кольору: 3 або 16 шістнадцяткових цифр (e63946 або e63) |
| mode | Режим гармонії, за замовчуванням комплементарний. Опції: complementary / split-complementary / triadic / tetradic / analogous / monochromatic |
Приклад запиту
curl "https://www.yanseku.com/api/scheme?hex=e63946&mode=triadic"
Приклад відповіді
{
"hex": "e63946",
"mode": "triadic",
"count": 3,
"colors": ["e63946", "46e639", "3946e6"]
}GET/api/contrast?fg=ffffff&bg=e63946
Перевірка контрасту: коефіцієнт WCAG + рівні AA/AAA + найкращий колір тексту
Параметри
| fg | Передній план HEX, наприклад ffffff |
| bg | Задній план HEX, наприклад e63946 |
Приклад запиту
curl "https://www.yanseku.com/api/contrast?fg=ffffff&bg=e63946"
Приклад відповіді
{
"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
Випадкові кольори з підібраного пулу назв, до 10 штук
Параметри
| count | Кількість кольорів, 1–10, за замовчуванням 1 |
Приклад запиту
curl "https://www.yanseku.com/api/random?count=5"
Приклад відповіді
{
"count": 3,
"colors": [
{ "name": "Sea Foam Green", "hex": "c2e4d0" },
{ "name": "Deep Koamaru", "hex": "333366" },
{ "name": "Laser Lemon", "hex": "ffff66" }
]
}Завантаження відкритих даних
Поза API — візьміть усю color library із собою. Формат CSV (UTF-8, рядок заголовків), готовий для аналізу даних, машинного навчання та дослідження систем дизайну. Назви полів у заголовку; набори даних оновлюються з кожною збіркою.
Назви кольорів взято з проєктів meodai/color-names (ліцензія MIT) та xkcd Color Survey; брендові кольори — з відкритих даних simple-icons; китайські традиційні кольори — з проєктів zerosoul/chinese-colors та zhongguose.com; значення стандартних зразків є комп'ютерними симуляціями — для виробничих цілей перевіряйте за фізичними зразками. Дотримуйтесь умов відповідних ліцензій оригінальних джерел.
Пакети з відкритим кодом
Движок та дані сайту доступні як бібліотеки з відкритим кодом — працюють офлайн, готові до використання у виробництві. Три пакети npm охоплюють движок, набори даних та MCP-сервер, а також порт для Python та набір даних для HuggingFace.
Движок кольорів: конвертація 10 форматів, CIEDE2000, APCA, змішування OKLab, 6 правил гармонії, симуляція зору — чиста математика, нуль залежностей
npm install @yanseku/color
Набори даних: 17 корпусів, понад 85 000 записів (названі кольори, стандартні зразки, традиційні, японські, брендові…), JSON з попередньо обчисленими LAB
npm install @yanseku/data
MCP-сервер: інтегрує весь color database в Claude / Cursor — 7 офлайн-інструментів
npm install -g @yanseku/mcp
Порт для Python: встановлюється через pip — та сама математика D65 та deltaE2000, bundled 659 традиційних історій
pip install yanseku
Конфігурація MCP (claude_desktop_config.json)
{
"mcpServers": {
"yanseku": {
"url": "https://www.yanseku.com/api/mcp"
}
}
}Конфігурація MCP — локальна (npx, офлайн)
{
"mcpServers": {
"yanseku": {
"command": "npx",
"args": ["-y", "@yanseku/mcp"]
}
}
}Порівняння можливостей з іншими бібліотеками кольорів
Загальні бібліотеки виконують лише математичні операції; унікальним шаром Yanseku є дані: пошук за назвою кольору, відповідність офіційним зразкам та оповідання про традиційні кольори.
| Можливість | Yanseku | colorjs.io | culori | chroma-js |
|---|---|---|---|---|
| Перетворення колірних просторів (10 форматів) | ✔ | ✔ | ✔ | |
| Різниця кольорів CIEDE2000 | ✔ | ✔ | ✔ | |
| Сприйнятливий контраст APCA | ✔ | ✘ | ✘ | |
| Симуляція колірного зору (8 типів) | ✔ | ✘ | ✘ | |
| Пошук за назвою кольору (32 258) | ✔ 32,258 | ✘ | ✘ | |
| Відповідність офіційним зразкам (12 систем) | ✔ 17,756 | ✘ | ✘ | |
| Китайські традиційні оповідання (659) | ✔ 659 | ✘ | ✘ | |
| Правила сприйнятливої гармонії | ✔ 6 rules | ✘ | ✔ palette | |
| MCP-сервер (офлайн) | ✔ remote + offline | ✘ | ✘ | |
| Порт для Python | ✔ | ✘ | ✘ | |
| Повний набір даних CSV / HF | ✔ 17 sets | ✘ | ✘ |
Де отримати: npm (@yanseku/color · @yanseku/data · @yanseku/mcp) · PyPI (yanseku) · HuggingFace (yanseku/chinese-traditional-colors)
source: standard = офіційний зразок; community = спільнотно названий колір; traditional = китайський традиційний колір
Безкоштовний публічний кінцевий пункт — будь ласка, будьте розсудливі (рекомендовано ≤ 60 запитів/хв).