はじめに
Object Eraser は、写真に写った不要な物を取り除き、消えたあとの空間をシーンの残りに合う背景で埋めます。物の指し方は 2 通りで、短い言葉で説明するか、黒いマスクの上で白く塗るかです。元のサイズのまま、その物だけがなくなった同じ写真が返ります。
主な機能とハイライト
言葉でもマスクでも指定できる
いちばん手早いのは短い説明です。「左側の木のベンチ」「ドアの上の看板」「右から 2 番目の人」といった具合です。周りに余白のある、はっきりした物にはよく効きますが、細い物や画面の端にある物は見落とされやすく、写真がそのまま返ってきたらそのサインです。マスクはピクセル単位で範囲を決めるので、そうした場合や、似たカップの片方だけ、フェンスの一部だけを消したいときの確実な方法です。両方を同じリクエストで送ることもできます。
シーンに沿った埋め方
消した部分はぼかしたりにじませたりするのではなく、周囲から組み立て直されます。床板はつながり、壁は質感を保ち、光は同じ向きから当たり続けるので、手を加えていない写真のように見えます。
写真のほかの部分はそのまま
置き換わるのは指定した物だけです。構図、解像度、指定範囲の外側はすべて送ったとおりに返るので、編集後の写真をそのままレイアウトや出品ページ、シリーズに戻せます。
リクエストパラメーター
| パラメーター | 必須 | 説明 |
|---|---|---|
image_url | はい | きれいにしたい写真です。JPEG、PNG、WebP に対応します。 1 文字以上 |
prompt | いいえ | 消したい物を短い言葉で書きます。複数あるときは位置も添えてください(例:「左側の赤い車」)。 1 文字以上 · 1000 文字以内 |
mask_url | いいえ | 任意の白黒画像で、写真と同じサイズにします。白が消す部分、黒が残す部分です。 1 文字以上 |
output_format | いいえ | 標準は PNG で、輪郭が劣化しません。ファイルを小さくしたいときは JPEG か WebP を選びます。 |
料金
$0.03 / 枚
出力画像 1 枚ごとの課金です。1 回のリクエストで消す物の数によって料金は変わりません。
ユースケース
商品写真と物件写真をきれいにする
ほぼ完成している写真からケーブル、値札、置きっぱなしの包装、通行人を消して、撮り直しを予約せずに済ませます。気になる物が 1 つだけ写り込んだ出品写真、インテリア写真、不動産ギャラリーの手早い修正方法です。
旅行やイベントの写真を整える
ポートレートや名所の背景から観光客、ゴミ箱、足場、ほかのカメラマンを取り除き、ようやく主役がフレームを独り占めできます。
次の編集に向けて下地を作る
まず場所を空け、あとから Image Expander でシーン全体を広げます。
プロンプトガイドと実践のヒント
見えている物を、位置と一緒に説明する
同僚に指し示すときのように書きます。名詞、色や素材、そして位置です。「ベンチ」でも通じますが、シーンに複数あるなら「左側の木のベンチ」のほうが確実です。写っていない物を指定してもエラーにはならず、写真が変更されずに返るだけなので、入力と同じ結果が返ってきたら説明が外れていた可能性が高いと考えてください。
マスクは大きめに塗る
mask_url を使う場合は写真と同じサイズにし、物の上を白、それ以外をすべて黒にします。輪郭や影も消えるよう、白は物の縁より少し外まで広げてください。シルエットにぴったり沿ったマスクは、うっすらと跡が残りがちです。
大きな物は 1 回に 1 つずつ
小さな物なら 1 回のリクエストで複数消せますが、大きな物や重なった物は回を分けて、そのつど結果を確認してください。どの回も完成した写真が返るので、あるリクエストの出力をそのまま次のリクエストに渡せます。
API クイックスタート
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "spicyapi/object-eraser-v1/edit",
"input": {
"image_url": "https://example.com/reference.png",
"output_format": "png",
"prompt": "A ceramic teapot on a linen cloth, soft window light, muted palette"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
認証、完全なスキーマ、ポーリング、エラー処理は API リファレンスを参照してください。








