LUT強度プレビュー
LUTブレンド強度計算ツールは、ルックアップテーブルを最大未満の強さで適用したときの色を算出します。元のピクセル色、LUTを100パーセント適用した色、強度の割合をご指定ください。赤、緑、青の各チャンネルを補間し、再利用しやすい16進数値、RGBオブジェクト、RGB文字列を返します。画像や動画フレーム全体を処理せずに部分的なカラーグレーディングを数値で確認したい場合に、プレビュー画面、編集インターフェース、テストデータ、検証工程などでご利用いただけます。
無料で実行
元の色と完全にグレーディングした色をご用意ください
同じピクセル、または代表的な同じ色について、2つの測定値をご用意ください。ベースカラーはグレーディング前の値、LUTカラーはルックアップテーブルを最大強度で適用した後の値です。それぞれを3桁または6桁のRGB形式の16進色として入力します。短縮形式は計算前に6桁へ展開され、結果は大文字の6桁表記に統一されます。このツールはLUTファイルを読み込まず、画像を解析せず、グレーディング結果を推測するものでもありません。すでに判明している2つの色を合成します。そのため、最大強度のサンプルが取得済みのインターフェースプレビュー、パイプラインテスト、デザインレビューに適しています。両方の値には、同じ色空間と伝達方式をご使用ください。表示用のsRGBサンプルとリニアライトのLUT結果を混在させると、数値上は計算できても、見た目を正しく予測できない場合があります。信頼できる比較のため、カラーパイプラインの同じ段階から、符号化、範囲、チャンネル順序が一致した両端の値を取得してください。これにより、異なる表現間の曖昧な変換ではなく、2つの端点間の正確な位置を確認できます。
LUT強度と計算方法をご確認ください
強度は、完全にグレーディングした値をプレビューへどれだけ反映するかを指定します。0パーセントではベースカラーがそのまま返り、100パーセントではLUTカラーが返り、50パーセントでは各チャンネルが2つの端点の中間になります。割合を100で割って係数を求め、RGBの各チャンネルについて、LUT値とベース値の差に係数を掛けてからベース値へ加算します。一般的な8ビットRGB色では小数のチャンネル値を表現できないため、結果を最も近い整数へ丸めます。これは符号化済みRGB数値の単純な線形補間であり、チャンネルごとのlerpとも呼ばれます。多くのプレビュー画面にある強度や不透明度の操作に近く、同じ入力からは常に同じ結果が得られます。ただし、すべての編集ソフトを再現するものではありません。リニアライトで合成する製品、高精度バッファーや知覚変換を使う製品、処理工程の別の位置で合成する製品もあります。その場合はUI用の参考値として利用し、最終表示を実際の制作システムでご確認ください。0未満または100を超える値は自動補正せずエラーにするため、設定ミスを見落としません。
プレビューと検証工程で結果をご活用ください
応答には、正規化した両端の色、指定した強度、0から1までの係数、3つの形式による合成結果が含まれます。16進値はCSSコントロール、カラースウォッチ、資料、簡潔な保存形式に適しています。後続のコードが個別の数値チャンネルを必要とする場合はRGBオブジェクトをご利用ください。ブラウザーのスタイルを作る場合や、担当者へすぐ理解できる値を表示する場合はRGB文字列が便利です。メソッド欄には線形RGB補間を使用したことが記録されるため、ログやテストデータ内で知覚的な合成やリニアライト合成と区別できます。一般的なプレビュー工程では、LUT適用前後の重要なピクセルを複数取得し、選択した強度で各ペアを計算して、小さな比較スウォッチを描画します。検証工程では、端点と期待する中間結果を保存し、強度スライダー、プリセット移行、レンダリングサービスをテストできます。1色だけでは、シャドウ、中間調、ハイライト、色相へ異なる影響を与えるLUT全体を表せません。十分な数の代表サンプルで計算を繰り返してください。APIによる各リクエストの料金は$0.002です。アップロード、ネットワーク、乱数、時刻に依存しないため、同一入力には常に同一結果を返します。
活用例
強度スライダーをプレビューする
動画フレーム全体をレンダリングせずに、LUT強度の調整中に表示するカラースウォッチを計算します。
編集画面の計算をテストする
端点、中間点、任意の割合について、再現可能な期待色を作成します。
プリセットの強度を比較する
グレーディング設定の説明やレビューに使用する、複数強度の代表色を生成します。
よくある質問
強度を0パーセントにするとどうなりますか?
完全適用時のLUT値が合成に加わらないため、結果はベースカラーと完全に同じになります。
強度を100パーセントにするとどうなりますか?
結果は指定したLUTカラーと完全に同じになります。
0から100の範囲外の強度は自動調整されますか?
いいえ。スライダーや設定の誤りを隠さないよう、無効な入力としてエラーを返します。
.cubeなどのLUTファイルを適用できますか?
いいえ。既知のベースカラーと最大強度のLUT結果を合成するだけで、ファイルの解析や実行は行いません。小数になったチャンネルは、8ビットRGB用に最も近い整数へ丸めます。
APIリクエストの料金はいくらですか?
各リクエストの料金は$0.002です。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/video2/color-grade-lut-intensity \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"base_color":"#406080","lut_color":"#D08020","intensity":40}'const res = await fetch("https://api.kit.forhosting.com/video2/color-grade-lut-intensity", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"base_color": "#406080",
"lut_color": "#D08020",
"intensity": 40
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/video2/color-grade-lut-intensity",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"base_color": "#406080",
"lut_color": "#D08020",
"intensity": 40
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/video2/color-grade-lut-intensity", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"base_color":"#406080","lut_color":"#D08020","intensity":40}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"base_color":"#406080","lut_color":"#D08020","intensity":40}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/video2/color-grade-lut-intensity", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"base_color": "#406080",
"lut_color": "#D08020",
"intensity": 40
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "video2.color_grade_lut_intensity",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_mb | 500 |
max_minutes | 60 |
max_megapixels | 3.9 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |