Pular para o conteúdo

API aberta

Cinco endpoints gratuitos, sem cadastro, sem chave, com CORS ativado. Mesmos dados do site: o espaço de 24 bits, 32.258 cores nomeadas, 17.756 amostras padrão e 659 cores tradicionais chinesas.

Endpoints em resumo

Cada endpoint tem CORS ativado - busque diretamente do navegador ou Node.js.

GET/api/color/e63946

Perfil de cor: 10 formatos + cores nomeadas mais próximas + correspondências em 8 sistemas padrão + correspondências tradicionais + 6 harmonias + contraste

Parâmetros

hexValor da cor: 3 ou 6 dígitos hex (e63946 ou e63)

Exemplo de requisição

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

Exemplo de resposta

{
  "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 harmonia: seis regras ao redor da sua cor base

Parâmetros

hexValor da cor: 3 ou 6 dígitos hex (e63946 ou e63)
modeModo de harmonia, padrão complementar. Opções: complementar / split-complementar / triádico / tetrádico / análogo / monocromático

Exemplo de requisição

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

Exemplo de resposta

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

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

Verificação de contraste: proporção WCAG + níveis AA/AAA + melhor cor de texto

Parâmetros

fgHex do primeiro plano, ex: ffffff
bgHex do fundo, ex: e63946

Exemplo de requisição

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

Exemplo de resposta

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

Cores aleatórias do pool de nomes curado, até 10

Parâmetros

countQuantidade de cores, 1-10, padrão 1

Exemplo de requisição

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

Exemplo de resposta

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

Downloads de dados abertos

Além da API - leve toda a 颜色库 com você. Formato CSV (UTF-8, linha de cabeçalho), pronto para análise de dados, aprendizado de máquina e pesquisa de sistemas de design. Os nomes dos campos estão no cabeçalho; os conjuntos de dados são atualizados a cada build.

Os nomes das cores são derivados de meodai/color-names (MIT) e da xkcd Color Survey; cores de marcas de dados abertos do simple-icons; cores tradicionais chinesas de zerosoul/chinese-colors e zhongguose.com; os valores de amostras padrão são conversões simuladas por computador - verifique com amostras físicas para produção. Siga as licenças upstream respectivas.

Pacotes de código aberto

O motor e os dados do site são disponibilizados como bibliotecas de código aberto - capazes de funcionar offline, prontas para produção. Três pacotes npm cobrem o motor, conjuntos de dados e um Servidor MCP, além de uma porta Python e um conjunto de dados HuggingFace.

@yanseku/color

Motor de cores: conversões de 10 formatos, CIEDE2000, APCA, mesclagem OKLab, 6 regras de harmonia, simulação de visão - matemática pura, sem dependências

npm install @yanseku/color
@yanseku/data

Conjuntos de dados: 17 corpora, mais de 85.000 entradas (cores nomeadas, amostras padrão, tradicionais, japonesas, marcas...), JSON com LAB pré-calculado

npm install @yanseku/data
@yanseku/mcp

Servidor MCP: conecte todo o color database ao Claude / Cursor - 7 ferramentas offline

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

Porta Python: pip install e pronto - mesma matemática D65 e deltaE2000, 659 histórias tradicionais inclusas

pip install yanseku

Configuração MCP (claude_desktop_config.json)

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

Configuração MCP - local (npx, offline)

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

Comparação de capacidade com outras bibliotecas de cores

Bibliotecas comuns só fazem cálculos matemáticos; a camada exclusiva do Yanseku é os dados: busca de cores nomeadas, correspondência de amostras oficiais e histórias de cores tradicionais.

CapacidadeYansekucolorjs.ioculorichroma-js
Conversões de espaço de cores (10 formatos)✔✔✔
Diferença de cor CIEDE2000✔✔✔
Contraste perceptivo APCA✔✘✘
Simulação de visão de cores (8 tipos)✔✘✘
Busca de cor nomeada (32.258)✔ 32,258✘✘
Correspondência de amostras oficiais (12 sistemas)✔ 17,756✘✘
Histórias tradicionais chinesas (659)✔ 659✘✘
Regras de harmonia perceptiva✔ 6 rules✘✔ palette
Servidor MCP (offline)✔ remote + offline✘✘
Port para Python✔✘✘
CSV completo / Dataset HF✔ 17 sets✘✘

Onde obter: npm (@yanseku/color · @yanseku/data · @yanseku/mcp) · PyPI (yanseku) · HuggingFace (yanseku/chinese-traditional-colors)

origem: standard = amostra oficial; community = cor nomeada pela comunidade; traditional = Chinese traditional color

Endpoint público gratuito - seja razoável (sugestão: ≤ 60 req/min).