本文へスキップ

AIで写真の影を消す方法(ビフォー・アフター)

葉・ブラインド・レースカーテンの影を1枚のアップロードで$0.03で除去。実際のビフォー・アフター、苦手なこと、Pythonの例つき。

執筆
Lydia
公開
読了時間
約 7 分
麦わら帽子とシャンパン色のスリップドレスの大人の女性が淡いホテルの壁の前に立つ。ブラインドの縞模様の影が消え、光が均一になっている。

写真をShadow Removerにアップロードすると、約12秒で強い影が消え、柔らかく均一な光になった写真が返ってきます。プロンプトも範囲選択も不要です。人物、服、シーンはそのままです。料金は1枚あたり$0.03で、残高のあるアカウントが必要です。無料枠はありません。画像なしで失敗したリクエストには課金されません。

ただし、影と一緒に強い光も取り除かれ、元の解像度ではなく約100万画素で返ります。以下はテスト写真で実際に得られた結果です。

ビフォー・アフター:顔にかかるヤシの葉の影

顔を横切る葉の硬い影は典型的なケースです。目が暗い斑点に沈み、シャツは半分が明るく半分が縞模様になります。

ビフォー:短いひげでクリーム色のリネンシャツの大人の男性。顔、首、シャツにヤシの葉の影の模様がかかっている。
ビフォー:顔とシャツにかかる葉の影。
アフター:同じ中庭の同じ男性。顔とシャツに柔らかく均一な光、背後の白い壁はそのまま。
アフター:顔、首、シャツ、壁から影の模様が消えました。シャツ、ひげ、中庭は同じシーンです。

肌の上だけでなく、背後の壁の影も消えました。開けた日陰で撮ったような写真になります。

肌と石段にかかるレースカーテンの光

レースカーテンの影は、肌、布、石に同時にかかるため、手作業では直しにくいものです。

ビフォー:レースカーテンのある窓辺の石段に座る大人の女性。カーテンの模様が顔、脚、石段に映っている。
ビフォー:顔、脚、石段にかかるレースカーテンの影。
アフター:同じ石段の同じ女性。顔、脚、石からレースの模様が消え、柔らかな窓の光になっている。
アフター:顔、シャツ、脚、石段まで均一な光。カーテン自体は残り、落ちた影だけが消えています。

ベネチアンブラインドとパーゴラの格子

結果だけを示す、さらに2つのテストです。1つはブラインドの影が縞状にかかるホテルの壁の前の麦わら帽子の女性、もう1つはパーゴラの下でバルコニーの手すりにもたれる男性で、梁の格子の影が顔と腕にかかっていました。元の写真は載せていないので、この2枚は除去の証拠ではなく出力のサンプルとしてご覧ください。

麦わら帽子とシャンパン色のスリップドレスの大人の女性が淡い壁の前に立つ。ブラインドの縞の影が消えている。
壁、ドレス、肌からブラインドの影が消えました。
白いタンクトップの大人の男性が石造りの家の横で鉄製のバルコニーの手すりにもたれている。パーゴラの影が消えて光が均一。
顔と腕からパーゴラの格子が消えました。パーゴラ自体は画面に残ります。

4枚とも、同じシーンが均一に照らされた写真として返ってきました。所要時間はそれぞれ11〜18秒です。

同じシードでの確認:アドオンなしのベースモデル

ヤシの葉の写真を、ベースの編集モデルであるAlibabaのQwen-Image-Edit-2509に、同じ指示と同じシードで2回通しました。Shadow Removerが使う影除去アドオンなしと、ありです。この写真とこのシードでは、アドオンなしのベースモデルは葉の影を残し、アドオンありでは消えました。1枚の写真と1つのシードの結果なので、この写真でアドオンが効いたことは言えても、すべてのエディタがすべての写真でそうなるとは言えません。Shadow Removerでは指示とアドオンが固定なので、写真だけを送れば済みます。

アドオンはdx8152によるLight Restoration LoRAで、オープンなコミュニティ製アダプターです。影除去の挙動はその作者の功績で、Shadow Removerはそれを1つの入力で使えるようにまとめたものです。

できないこと

  • 影だけでなく光も取り除きます。 テストした写真はすべて均一な光で返ってきました。暗めのトーンやランプ1つのポートレートは試していないため、結果は言えません。意図した雰囲気の照明は平坦になる可能性があるので、まず1枚で試してください。
  • 顔は描き直されます。 目鼻立ちは元に近いままですが、テスト写真4枚のうち麦わら帽子の女性の顔は少し変わりました。どの程度かは測っていません。大切なポートレートを置き換える前に、元の写真と見比べてください。
  • 出力は元の解像度ではなく約100万画素です。 アスペクト比を空にしたテストでは、1536 × 2048(3:4)の写真が880 × 1176、2048 × 1152(16:9)の写真が1360 × 768で返りました。元のファイルは手元に残してください。印刷サイズが必要ならImage Upscalerに通してください。課金は1枚あたり定額なので、100枚で$3.00です。
  • 物の除去はできません。 カップ、ケーブル、人を消すにはObject Eraserを使ってください。マスクのチュートリアルがあります。

証明写真やパスポート写真は試していません。無加工の写真を求める申請は多いため、修正する前に発行元の規則を確認してください。

Playgroundで試す

  1. Shadow Removerのページを開き、残高のあるアカウントでログインします。
  2. 10MBまでのJPEG、PNG、WebPの写真をアップロードします。
  3. アスペクト比を空にすると写真の形を保ち、9種類から選ぶと再構成されます。
  4. 実行します。同じ写真で設定を比べたいときは同じseedを使います。

落ちた影が主な問題になっている写真を選んでください。テストしたサンプルはどれも、はっきりした影の模様が1つでした(葉、ブラインド、レース、格子)。複数の光が混ざった場合、柔らかい影、被写体が自分に落とす影は試していないため、結果は言えません。

そのあと好みの光でリライト

影を除くと、均一な出発点の写真ができます。暖かい窓の光やゴールデンアワーのリムライトなど、特定の光を戻したいときはRelightがそのためのツールです。2つを組み合わせた検証はしていないので、まず1枚で試してください。

コードから呼び出す

Python SDK(pip install spicyapi)をインストールし、サーバー環境にSPICY_API_KEYを設定します。以下はモデルページのサンプル写真でそのまま動きます。

python
import uuid
from spicyapi import SpicyClient, output_assets

client = SpicyClient()  # reads SPICY_API_KEY from the environment

task = client.create_task(
    model="spicyapi/shadow-remover-v1/edit",
    input_data={
        "image_url": "https://cdn.spicyapi.ai/models/examples/inputs/4fdf6657c6185e94.webp",
        "seed": 424242,
    },
    idempotency_key=str(uuid.uuid4()),
)

final = client.wait_for_terminal(task["taskId"])
if final["state"] != "succeeded":
    raise RuntimeError(f"{task['taskId']} ended as {final['state']}: {final.get('errorCode')}")
print(output_assets(final)[0]["url"])  # copy the image to your own storage now

任意フィールドはaspect_ratio、seed、output_format(jpeg、png、webp)です。手元のファイルのアップロード、ポーリング、エラーコードはタスクガイドをご覧ください。生成されたファイルは最長14日間保存されます。

FAQ

プロンプトは必要ですか?

いいえ。指示は固定で、光と影を取り除き、柔らかく均一な光で写真をリライトします。送るのは写真だけです。

テストでどんな影を消せましたか?

顔とシャツにかかるヤシの葉の影、女性と背後の壁にかかるベネチアンブラインドの縞、脚と石段のレースカーテンの模様、男性の顔と腕にかかるパーゴラの格子です。

人物は変わりますか?

ポーズ、服、髪、背景は保たれます。光が変わる間に顔が描き直されるため、小さな違いが出ることがあります。

結果が気に入らなくても課金されますか?

はい。完成した画像は$0.03です。画像なしで失敗したリクエストには課金されません。

他の言語 English · 한국어 · Español · Русский

実際に試してみる

支払いは実行した分だけ。プランもサブスクリプションもありません。

使用モデル:MiniMax H3 · ByteDance Seedance 2.0 Fast