Otwarte API
Pięć darmowych punktów końcowych, bez rejestracji, bez klucza, z obsługą CORS. Te same dane co w serwisie: przestrzeń 24-bitowa, 32 258 nazwanych kolorów, 17 756 wzorników standardowych oraz 659 chińskich kolorów tradycyjnych.
Punkty końcowe w skrócie
Każdy punkt końcowy ma obsługę CORS – pobieraj bezpośrednio z przeglądarki lub Node.js.
GET/api/search?q=crimson&limit=8
Szukaj kolorów po nazwie, kodzie standardowym, nazwie tradycyjnej lub HEX
Parametry
| q | Słowo kluczowe zapytania: wartość HEX (ff0000), nazwa koloru (crimson) lub kod standardowy (RAL 3020) |
| limit | Maksymalna liczba wyników, domyślnie 12, limit do 50 |
Przykładowe zapytanie
curl "https://www.yanseku.com/api/search?q=crimson&limit=8"
Bezpośrednie pobieranie działa w przeglądarce (CORS włączone).
Przykładowa odpowiedź
{
"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 koloru: 10 formatów + najbliższe nazywane kolory + dopasowania w 8 systemach standardowych + dopasowania tradycyjne + 6 harmonii + kontrast
Parametry
| hex | Wartość koloru: 3 lub 6 cyfr szesnastkowych (e63946 lub e63) |
Przykładowe zapytanie
curl "https://www.yanseku.com/api/color/e63946"
Przykładowa odpowiedź
{
"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
Schemat harmonii: sześć reguł wokół koloru bazowego
Parametry
| hex | Wartość koloru: 3 lub 6 cyfr szesnastkowych (e63946 lub e63) |
| mode | Tryb harmonii, domyślnie komplementarny. Opcje: komplementarny / split-komplementarny / triadyczny / tetradyczny / analogiczny / monochromatyczny |
Przykładowe zapytanie
curl "https://www.yanseku.com/api/scheme?hex=e63946&mode=triadic"
Przykładowa odpowiedź
{
"hex": "e63946",
"mode": "triadic",
"count": 3,
"colors": ["e63946", "46e639", "3946e6"]
}GET/api/contrast?fg=ffffff&bg=e63946
Sprawdzenie kontrastu: współczynnik WCAG + poziomy AA/AAA + najlepszy kolor tekstu
Parametry
| fg | Kolor pierwszoplanowy w formacie HEX, np. ffffff |
| bg | Kolor drugoplanowy w formacie HEX, np. e63946 |
Przykładowe zapytanie
curl "https://www.yanseku.com/api/contrast?fg=ffffff&bg=e63946"
Przykładowa odpowiedź
{
"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
Losowe kolory z wyselekcjonowanej puli nazw, do 10 sztuk
Parametry
| count | Liczba kolorów, 1-10, domyślnie 1 |
Przykładowe zapytanie
curl "https://www.yanseku.com/api/random?count=5"
Przykładowa odpowiedź
{
"count": 3,
"colors": [
{ "name": "Sea Foam Green", "hex": "c2e4d0" },
{ "name": "Deep Koamaru", "hex": "333366" },
{ "name": "Laser Lemon", "hex": "ffff66" }
]
}Pobieranie otwartych danych
Poza API - weź całą bazę kolorów ze sobą. Format CSV (UTF-8, wiersz nagłówkowy), gotowy do analizy danych, uczenia maszynowego i badań systemów projektowych. Nazwy pól znajdują się w nagłówku; zbiory danych są aktualizowane przy każdej kompilacji.
Nazwy kolorów pochodzą z meodai/color-names (MIT) oraz ankiety kolorów xkcd; kolory marek z otwartych danych simple-icons; chińskie kolory tradycyjne z zerosoul/chinese-colors oraz zhongguose.com; wartości standardowych próbek są konwersjami symulowanymi komputerowo – w przypadku produkcji należy zweryfikować je na fizycznych próbkach. Należy przestrzegać odpowiednich licencji upstream.
Pakiety open-source
Silnik i dane witryny są dostępne jako biblioteki open-source – działają offline, gotowe do użycia w produkcji. Trzy pakiety npm obejmują silnik, zbiory danych oraz serwer MCP, a także port w Pythonie oraz zbiór danych HuggingFace.
Silnik kolorów: konwersje 10 formatów, CIEDE2000, APCA, mieszanie OKLab, 6 reguł harmonii, symulacja widzenia – czysta matematyka, zero zależności
npm install @yanseku/color
Zbiory danych: 17 korpusów, ponad 85 000 wpisów (nazwane kolory, standardowe próbki, tradycyjne, japońskie, marki...), JSON z preobliczonym LAB
npm install @yanseku/data
Serwer MCP: podłącz cały color database do Claude / Cursor – 7 narzędzi offline
npm install -g @yanseku/mcp
Port w Pythonie: instalacja przez pip i gotowe – taka sama matematyka D65 oraz deltaE2000, dołączone 659 tradycyjnych kolorów
pip install yanseku
Konfiguracja MCP (claude_desktop_config.json)
{
"mcpServers": {
"yanseku": {
"url": "https://www.yanseku.com/api/mcp"
}
}
}Konfiguracja MCP – lokalna (npx, offline)
{
"mcpServers": {
"yanseku": {
"command": "npx",
"args": ["-y", "@yanseku/mcp"]
}
}
}Porównanie możliwości z innymi bibliotekami kolorów
Typowe biblioteki wykonują tylko obliczenia matematyczne; unikalną warstwą Yanseku jest dane: wyszukiwanie nazwanych kolorów, dopasowywanie oficjalnych próbników oraz historie kolorów tradycyjnych.
| Możliwość | Yanseku | colorjs.io | culori | chroma-js |
|---|---|---|---|---|
| Konwersje przestrzeni barwnych (10 formatów) | ✔ | ✔ | ✔ | |
| Różnica kolorów CIEDE2000 | ✔ | ✔ | ✔ | |
| Kontrast percepcyjny APCA | ✔ | ✘ | ✘ | |
| Symulacja widzenia barw (8 typów) | ✔ | ✘ | ✘ | |
| Wyszukiwanie nazwanych kolorów (32 258) | ✔ 32,258 | ✘ | ✘ | |
| Dopasowywanie oficjalnych próbników (12 systemów) | ✔ 17,756 | ✘ | ✘ | |
| Chińskie historie tradycyjnych kolorów (659) | ✔ 659 | ✘ | ✘ | |
| Reguły harmonii percepcyjnej | ✔ 6 rules | ✘ | ✔ palette | |
| Serwer MCP (offline) | ✔ remote + offline | ✘ | ✘ | |
| Port Pythona | ✔ | ✘ | ✘ | |
| Pełny zestaw danych CSV / HF | ✔ 17 sets | ✘ | ✘ |
Gdzie go zdobyć: npm (@yanseku/color · @yanseku/data · @yanseku/mcp) · PyPI (yanseku) · HuggingFace (yanseku/chinese-traditional-colors)
źródło: standard = oficjalna karta koloru; community = kolor nazwany przez społeczność; traditional = chiński kolor tradycyjny
Darmowy publiczny punkt końcowy - prosimy o rozsądek (sugerowane ≤ 60 żądań/min).