RGBから最も近いPantone系の色ファミリーを推定
このRGB色分類ツールは、特定の専有色見本との完全一致をうたわず、最も近い一般的なPantone風の色相ファミリーとトーンを推定します。赤、緑、青の各チャンネルを0から255の整数で入力してください。青、ティール、マゼンタ、暖色系ニュートラルなどの分かりやすいファミリーに加え、深い、淡い、落ち着いた、鮮やかといった性質を返します。色の整理、伝わりやすい説明文の作成、デザインや商品カタログでの用語統一に役立ちます。
無料で実行
この推定結果が示すもの
画面に表示される色と、印刷された特色は、同じ方法で測れるものではありません。RGBはディスプレイが発する光を表しますが、印刷結果はインク、用紙や素材、表面加工、照明、管理された製造工程によって変わります。そのため、このツールは意図的に広い問いに答えます。入力されたRGB値を、よく知られたPantone風の色相ファミリーとトーンで表すなら何が最も近いか、という推定です。カタログ番号を返したり、ライセンスされた色見本帳を検索したり、印刷物がモニターと一致すると保証したりするものではありません。ファミリーには、赤、オレンジ、黄、黄緑、緑、ティール、シアン、青、紫、マゼンタ、暖色系ニュートラル、寒色系ニュートラルがあります。さらにトーンを加えることで、淡い青や深みのある紫のように実用的に区別できます。タグ付け、検索、文章作成、初期のデザイン相談、パレット整理にご利用ください。印刷工程では、管理された照明の下で最新の正規色見本を確認し、担当する印刷会社へご相談ください。
分類を算出する仕組み
計算は常に同じ手順で行われ、ネットワーク通信やモデル推論を使用しません。まず、3つのチャンネルがすべて0から255までの整数かを検証します。次にsRGB値を線形化し、D65光源を前提とする標準のRGBからXYZへの変換行列を適用して、CIELAB座標へ変換します。CIELAB空間での直線距離は、赤、緑、青の生の数値差よりも、人が感じる色の違いに近いため、この用途に適しています。入力色を、公開された少数の一般的な色アンカーと比較し、最も近いアンカーからファミリー名を決めます。彩度が非常に低い色は、ほぼ灰色なのに青や赤と誤解されないよう、暖色系または寒色系のニュートラルに分類します。トーンは明度と彩度のしきい値から別に求めます。返される距離は一般アンカーとの計算上の差であり、品質評価でも専有色見本との差でもありません。同一の入力には必ず同一の結果を返します。
結果を適切に活用する方法
数値の距離だけに注目せず、ファミリーとトーンを組み合わせて解釈してください。「やわらかなティール」のような表現は、根拠のないカタログ精度を主張するよりも、商品管理、コンテンツ制作、デザインシステムの運用で役立ちます。応答に含まれる参照RGBは、アルゴリズムが採用したアンカーを示すため、分類を確認して再現できます。色空間は連続していますが、分類器は名前の付いた領域に分割する必要があります。そのため、よく似た色がファミリーやトーンの境界をまたぐ場合がありますが、境界で見た目が急に変わるという意味ではありません。ディスプレイの調整、周囲の光、カラープロファイル、人の視覚も見え方に影響します。ブランド基準、パッケージ承認、繊維染色、印刷出力で公式な一致が必要な場合は、この推定を候補の絞り込みだけに使い、その後で正規の物理色見本と製造校正をご確認ください。自動処理時のAPI料金は1項目あたり$0.002です。
活用例
デジタル素材集にタグを付ける
RGBベースの画像、アイコン、商品情報に、統一された色相ファミリーとトーンのラベルを追加できます。
パレットを分かりやすく説明する
特色との完全一致を主張せず、チャンネル値をチームで共有しやすい表現へ変換できます。
印刷用色見本の候補を絞る
一般的なファミリーで初期検索を絞り、正規の物理色見本と校正刷りを確認できます。
よくある質問
正確なPantoneカラー番号が返されますか?
いいえ。非独占的なアンカーから一般的なPantone風ファミリーとトーンを返すもので、ライセンスされたカタログとの照合ではありません。
どのようなRGB値を入力できますか?
r、g、bを0から255までの整数で指定してください。欠落、小数、範囲外のチャンネルは拒否されます。
最も近いファミリーはどう決まりますか?
RGB値をCIELABへ変換し、固定された一般的な色アンカーとの距離を比較して選びます。
ほぼ灰色なのに暖色系または寒色系になるのはなぜですか?
彩度が低い色には明確な色相がほとんどないため、CIELAB上のわずかな偏りから、より有用なニュートラル分類を選びます。
最終印刷の承認に使えますか?
いいえ。最終承認では、正規の物理色見本、管理された照明、実際の素材、製造校正をご使用ください。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/color/pantone-nearest-estimate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"r":30,"g":90,"b":160}'const res = await fetch("https://api.kit.forhosting.com/color/pantone-nearest-estimate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"r": 30,
"g": 90,
"b": 160
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/pantone-nearest-estimate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"r": 30,
"g": 90,
"b": 160
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/pantone-nearest-estimate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"r":30,"g":90,"b":160}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"r":30,"g":90,"b":160}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/pantone-nearest-estimate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"r": 30,
"g": 90,
"b": 160
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.pantone_nearest_estimate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |