Saltar al contenido

API abierta

Cinco endpoints gratuitos, sin registro, sin clave, con CORS habilitado. Mismos datos que el sitio: el espacio de 24 bits, 32.258 colores con nombre, 17.756 muestras estándar y 659 colores tradicionales chinos.

Endpoints de un vistazo

Cada endpoint tiene CORS habilitado: puedes obtener datos directamente desde el navegador o Node.js.

GET/api/color/e63946

Perfil de color: 10 formatos + colores con nombre más cercanos + coincidencias en 8 sistemas estándar + coincidencias tradicionales + 6 armonías + contraste

Parámetros

hexValor de color: dígitos hexadecimales de 3 o 6 (e63946 o e63)

Solicitud de ejemplo

curl "https://www.yanseku.com/api/color/e63946"

Respuesta de ejemplo

{
  "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

Esquema de armonía: seis reglas alrededor de tu color base

Parámetros

hexValor de color: dígitos hexadecimales de 3 o 6 (e63946 o e63)
modeModo de armonía, predeterminado complementario. Opciones: complementary / split-complementary / triadic / tetradic / analogous / monochromatic

Solicitud de ejemplo

curl "https://www.yanseku.com/api/scheme?hex=e63946&mode=triadic"

Respuesta de ejemplo

{
  "hex": "e63946",
  "mode": "triadic",
  "count": 3,
  "colors": ["e63946", "46e639", "3946e6"]
}

GET/api/contrast?fg=ffffff&bg=e63946

Comprobación de contraste: ratio WCAG + niveles AA/AAA + color de texto óptimo

Parámetros

fgHexadecimal de primer plano, ej. ffffff
bgHexadecimal de fondo, ej. e63946

Solicitud de ejemplo

curl "https://www.yanseku.com/api/contrast?fg=ffffff&bg=e63946"

Respuesta de ejemplo

{
  "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

Colores aleatorios del grupo de nombres curado, hasta 10

Parámetros

countCantidad de colores, 1-10, valor predeterminado 1

Solicitud de ejemplo

curl "https://www.yanseku.com/api/random?count=5"

Respuesta de ejemplo

{
  "count": 3,
  "colors": [
    { "name": "Sea Foam Green", "hex": "c2e4d0" },
    { "name": "Deep Koamaru", "hex": "333366" },
    { "name": "Laser Lemon", "hex": "ffff66" }
  ]
}

Descargas de datos abiertos

Más allá de la API: lleva toda la base de datos contigo. Formato CSV (UTF-8, fila de encabezado), listo para análisis de datos, aprendizaje automático e investigación de sistemas de diseño. Los nombres de los campos están en el encabezado; los conjuntos de datos se actualizan en cada compilación.

Los nombres de color provienen de meodai/color-names (MIT) y la encuesta de colores xkcd; los colores de marca de los datos abiertos de simple-icons; los colores tradicionales chinos de zerosoul/chinese-colors y zhongguose.com; los valores de muestras estándar son conversiones simuladas por ordenador - verifica con muestras físicas para producción. Cumplir con las licencias upstream correspondientes.

Paquetes de código abierto

El motor y los datos del sitio se distribuyen como bibliotecas de código abierto: capaces de funcionar sin conexión, listas para producción. Tres paquetes npm cubren el motor, los conjuntos de datos y un servidor MCP, además de un puerto para Python y un conjunto de datos de HuggingFace.

@yanseku/color

Motor de color: conversiones de 10 formatos, CIEDE2000, APCA, mezcla OKLab, 6 reglas de armonía, simulación de visión - matemáticas puras, sin dependencias

npm install @yanseku/color
@yanseku/data

Conjuntos de datos: 17 corpus, más de 85.000 entradas (colores nombrados, muestras estándar, tradicionales, japoneses, marcas...), JSON con LAB precomputado

npm install @yanseku/data
@yanseku/mcp

Servidor MCP: conecta toda la base de datos de colores a Claude / Cursor - 7 herramientas sin conexión

npm install -g @yanseku/mcp
yanseku (Python)

Puerto para Python: instala con pip y listo - mismas matemáticas D65 y deltaE2000, 659 historias tradicionales incluidas

pip install yanseku

Configuración MCP (claude_desktop_config.json)

{
  "mcpServers": {
    "yanseku": {
      "url": "https://www.yanseku.com/api/mcp"
    }
  }
}

Configuración MCP - local (npx, sin conexión)

{
  "mcpServers": {
    "yanseku": {
      "command": "npx",
      "args": ["-y", "@yanseku/mcp"]
    }
  }
}

Comparación de capacidades con otras bibliotecas de color

Las bibliotecas comunes solo realizan cálculos matemáticos; la capa única de Yanseku son los datos: búsqueda de colores nombrados, coincidencia de muestras oficiales y historias de colores tradicionales.

CaracterísticaYansekucolorjs.ioculorichroma-js
Conversiones de espacio de color (10 formatos)✔✔✔
Diferencia de color CIEDE2000✔✔✔
Contraste perceptual APCA✔✘✘
Simulación de visión del color (8 tipos)✔✘✘
Búsqueda de color nombrado (32.258)✔ 32,258✘✘
Coincidencia de muestras oficiales (12 sistemas)✔ 17,756✘✘
Historias tradicionales chinas (659)✔ 659✘✘
Reglas de armonía perceptual✔ 6 rules✘✔ palette
Servidor MCP (sin conexión)✔ remote + offline✘✘
Puerto Python✔✘✘
CSV completo / Conjunto de datos HF✔ 17 sets✘✘

Dónde obtenerlo: npm (@yanseku/color · @yanseku/data · @yanseku/mcp) · PyPI (yanseku) · HuggingFace (yanseku/chinese-traditional-colors)

source: standard = muestra oficial; community = color nombrado por la comunidad; traditional = color tradicional chino

Endpoint público gratuito - por favor, sé razonable (se sugiere ≤ 60 req/min).