hair-color-changer について
hair-color-changerは、each::senseを使って写真の髪色を編集するスキルです。髪色を検討する人向けに、自然色やファンタジーカラー、グラデーション、ハイライト、段階的な調整に対応します。
主な機能
- 01自然色やファンタジーカラーへの変更
- 02グラデーションやハイライトの作成
- 03グレーやシルバー系の調整
- 04複数ターンでの色の試行
- 05既存の髪色の補正
活用シーン
- 01写真で新しい髪色を試す
- 02グラデーションやハイライトを比較
- 03複数のカラー候補を検討
- 04現在の髪色のトーンを調整
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ eachlabs/ skills --skill hair-color-changerインストール後、Claude Code で/hair-color-changerを入力して読み込まれたか確認します。
同梱ファイルreferences/SSE-EVENTS.md
詳細
ヘアカラー変更
each::sense を使用して、写真の髪色を変更します。このスキルでは、自然な色合いの微調整から大胆なファンタジーカラーまで、リアルな髪色の変更が可能です。グラデーション、ハイライト、複数の色調を使ったスタイリングなど、複雑な効果にも対応しています。
機能
- ナチュラルカラー:ブロンド、ブラウン、ブラック、レッド、オーバーン
- ファンタジーカラー:パープル、ブルー、ピンク、グリーンなど
- グラデーション:根元から毛先まで滑らかに色を変化させます
- ハイライトとローライト:立体感のあるカラー効果を加えます
- グレーとシルバー:上品なシルバー、プラチナ、グレーの色調
- 色補正:既存の髪色を修正または調整します
- 複数ターンのセッション:結果を反復調整し、さまざまな色を試せます
クイックスタート
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Change the hair color to platinum blonde, keep it looking natural and shiny"}],
"model": "eachsense/beta",
"stream": true,
"image_urls": ["https://example.com/portrait.jpg"],
"mode": "max"
}'
使用例
1. 髪をブロンドに変更する
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Change the hair to a warm honey blonde color. Keep the hair texture and shine natural, maintain realistic highlights throughout."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": ["https://example.com/original-photo.jpg"],
"mode": "max"
}'
2. 髪をブラウンに変更する
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Transform the hair to a rich chocolate brown color. Add subtle warm undertones and natural-looking dimension to the brunette shade."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": ["https://example.com/portrait.jpg"],
"mode": "max"
}'
3. 髪をレッド/オーバーンに変更する
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Change the hair color to a vibrant auburn red. Make it look like natural ginger hair with copper highlights that catch the light."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": ["https://example.com/model-photo.jpg"],
"mode": "max"
}'
4. ファンタジーカラー(パープル、ブルー、ピンク)
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Transform the hair to a vivid galaxy purple color. Make it look like professionally dyed hair with deep violet tones and subtle blue undertones. Keep the hair healthy and shiny looking."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": ["https://example.com/portrait.jpg"],
"mode": "max"
}'
# Electric blue hair
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Change the hair to electric blue color, like a bold fashion statement. Mix of deep blue and bright cyan tones throughout."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": ["https://example.com/photo.jpg"],
"mode": "max"
}'
# Pastel pink hair
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Transform the hair to a soft pastel pink color. Think rose gold meets cotton candy - delicate, feminine, and Instagram-worthy."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": ["https://example.com/headshot.jpg"],
"mode": "max"
}'
5. グラデーション効果
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create an ombre hair effect - dark brown roots transitioning smoothly to caramel blonde at the ends. Make the gradient look natural and well-blended like salon balayage."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": ["https://example.com/full-portrait.jpg"],
"mode": "max"
}'
# Fantasy ombre
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create a fantasy ombre effect with dark purple roots fading into bright pink, then to peachy coral at the tips. Smooth gradient transitions like a sunset."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": ["https://example.com/model.jpg"],
"mode": "max"
}'
6. ハイライトとローライト
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Add dimensional highlights and lowlights to the hair. Keep the base color but add face-framing blonde highlights and subtle caramel lowlights throughout for depth and dimension."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": ["https://example.com/brunette-photo.jpg"],
"mode": "max"
}'
# Babylights effect
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Add subtle babylights throughout the hair - very fine, delicate highlights like sun-kissed natural lightening. Keep it soft and natural looking."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": ["https://example.com/portrait.jpg"],
"mode": "max"
}'
7. グレー/シルバーの髪
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Transform the hair to an elegant silver gray color. Make it look like intentional fashion-forward silver hair, not aging gray - metallic, shiny, and well-maintained."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": ["https://example.com/fashion-photo.jpg"],
"mode": "max"
}'
# Platinum silver
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Change hair to platinum silver with icy undertones. Think high fashion editorial silver - cool-toned, luminous, and striking."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": ["https://example.com/model-headshot.jpg"],
"mode": "max"
}'
8. 自然な色合いのバリエーション
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Adjust the hair color to be 2 shades darker, turning it from medium brown to a deep espresso brown. Keep all the natural texture and shine."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": ["https://example.com/natural-photo.jpg"],
"mode": "max"
}'
# Warm up cool tones
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Add warm golden undertones to the existing hair color. Keep the same overall shade but remove any ashy tones and make it warmer and more vibrant."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": ["https://example.com/portrait.jpg"],
"mode": "eco"
}'
9. 同じ写真から複数のカラーを試す
session_id を使うと、同じ写真でさまざまなカラーを試せます。
# First option - Blonde
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Change my hair to platinum blonde. I want to see how I would look with this color."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": ["https://example.com/my-photo.jpg"],
"session_id": "hair-color-tryout-001",
"mode": "eco"
}'
# Second option - Red (same session)
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Now show me the same photo but with fiery red hair instead."}],
"model": "eachsense/beta",
"stream": true,
"session_id": "hair-color-tryout-001",
"mode": "eco"
}'
# Third option - Black (same session)
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "And one more variation with jet black hair please."}],
"model": "eachsense/beta",
"stream": true,
"session_id": "hair-color-tryout-001",
"mode": "eco"
}'
10. 変更前/変更後の比較
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Change the hair to rose gold color, then create a side-by-side before and after comparison showing the original on the left and the new color on the right."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": ["https://example.com/original-portrait.jpg"],
"mode": "max"
}'
# Iterative refinement for comparison
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Transform the hair to strawberry blonde."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": ["https://example.com/client-photo.jpg"],
"session_id": "client-consultation-001",
"mode": "max"
}'
# Follow-up to adjust
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Make the strawberry blonde a bit more pink and less orange. Also make it slightly lighter overall."}],
"model": "eachsense/beta",
"stream": true,
"session_id": "client-consultation-001",
"mode": "max"
}'
ベストプラクティス
リアルな結果を得るには
- 良好な照明:髪に均一に光が当たった写真を使用してください
- 髪が見えること:髪がはっきりと見え、隠れていないことを確認してください
- 正面向き:正面または斜め前から撮影した写真が最適です
- 高解像度:元画像の品質が高いほど、より良い結果が得られます
プロンプトのヒント
- 具体的に指定する:希望する色合いを正確に説明してください(例:「ブロンド」だけでなく「温かみのあるハニーブロンド」)
- 色調を指定する:アンダートーン(暖色系、寒色系、ニュートラル、アッシュ系、ゴールド系)に言及してください
- 質感を保つ:自然な質感とツヤを保つよう指定してください
- 現実的な期待を持つ:ファンタジーカラーは、明るいベースカラーの髪でより鮮やかに見える場合があります
プロンプトの構成例
"Change the hair to [specific color with undertones].
[Additional details about dimension, highlights, or effects].
Keep the hair looking [natural/healthy/shiny/textured]."
モードの選択
「結果の速さと最高品質のどちらを優先しますか?」
| モード | 最適な用途 | 速度 | 品質 |
|---|---|---|---|
max | 最終結果、クライアントへのプレゼンテーション、ポートフォリオ制作 | 遅め | 最高 |
eco | クイックプレビュー、複数カラーの試行、コンセプトの検討 | 速め | 良好 |
複数ターンでのカラー検討
session_id を使って、カラーを反復検討できます。
# Start with a base change
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Change my hair to copper red"}],
"model": "eachsense/beta",
"stream": true,
"image_urls": ["https://example.com/selfie.jpg"],
"session_id": "hair-exploration"
}'
# Request adjustment
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Make it more auburn and less orange, add some brown lowlights"}],
"model": "eachsense/beta",
"stream": true,
"session_id": "hair-exploration"
}'
# Try a completely different direction
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Actually, let me see the original photo with silver gray hair instead"}],
"model": "eachsense/beta",
"stream": true,
"session_id": "hair-exploration"
}'
エラー処理
| エラー | 原因 | 解決策 |
|---|---|---|
Failed to create prediction: HTTP 422 | 残高不足 | eachlabs.ai で残高をチャージしてください |
| 髪が検出されない | 画像内で髪が見えない | 髪が見える、より鮮明な写真を使用してください |
| 不自然な結果 | 元画像の品質が低い | 照明の良い高解像度の写真を使用してください |
| タイムアウト | 複雑な生成処理 | クライアントのタイムアウトを最低10分に設定してください |
関連スキル
each-sense- コア API ドキュメントface-swap- 顔を入れ替える機能image-edit- 画像の一般的な編集product-photo-generation- EC 商品写真の生成
コメント
Markdown 対応