
意図的に「退屈な」API
最良の画像 API は退屈です。画像を渡し、結果を受け取り、プロダクト開発に戻る。Remove BG はその基準で設計されました。
curl 'https://api.codia.ai/v1/open/remove_bg' \
-H 'Authorization: Bearer {codia_api_key}' \
-H 'Content-Type: application/json' \
--data '{ "image_url": "https://example.com/product.jpg" }'{
"code": 0,
"message": "ok",
"data": {
"image_url": "https://processed-image-url.com/result.png"
}
}以上です。1つのエンドポイント。1つの必須フィールド。1つのレスポンス形状。この記事の残りは、そのシンプルなインターフェースを維持するために何をトレードオフしたか、そして実際のイメージングパイプライン内での API の振る舞いについてです。
切り抜きにおける「クリーン」の意味
背景除去パイプラインの安易な実装は、サムネイルサイズでは良く見えても、明るい背景やクリスプなカタログレイアウトの上では崩れるソフトアルファチャンネルの画像を返します。Remove BG はその逆を目指しています:顧客が商品ページでズームインしても耐えうる切り抜きです。
具体的には、エッジ品質パスが3つの重要な処理を行います:
- 輪郭部のサブピクセルアルファ。 マスクは閾値処理ではなくマッティングされます — 細い髪の毛、細いジュエリーワイヤー、レース、グラスの縁は最も近い整数ピクセルでカットされるのではなく、ソフトエッジを維持します。
- 前景のカラーデコンタミネーション。 エッジ付近のピクセルは元の背景からのグリーンやレッドのスピルを含むことが多いです。API はその色かぶりを除去し、新しい背景上にハロなしでクリーンに合成できるようにします。
- シャドウのスミアなし。 元画像に白い面上のキャストシャドウがある場合、シャドウは背景とともに除去されます。シャドウを残したい場合(一部の EC チームにそのニーズがあります)、被写体自身のセルフシャドウ — 靴の裏面の影、マグカップの暗い側面 — はそのまま残ります。
実用的なテスト:返された PNG を #111 の背景に合成してください。明るいフリンジが見えたら、切り抜きはクリーンではありません。Remove BG はプロダクト、人物、ペット、食品、家具、車両でこのテストをパスするはずです。モーションブラーの被写体や、被写体が忙しい背景とカラーパレットを共有している画像では苦戦します。
レイテンシバジェット
公称処理時間は約 600 ms です。この数字はモデルの推論時間に軽い I/O を加えたもので、リクエストから返却 URL までのエンドツーエンドレイテンシは、画像サイズとリージョンに応じて 800〜1200 ms に近づきます。バッチワークロードでは API はうまく並列化され — レート制限が作動するまで単一のキーから数百のリクエストを同時に送信でき、これはインタラクティブな商品アップロードフローには通常十分です。
同期 UI に統合する場合 — ユーザーが画像をドラッグし、すぐに結果を見たい — 800 ms は良いフィーリングです。50,000 SKU のカタログを一晩で処理する場合は、ワーカープールを実行し、一時的な障害でリトライし、レート制限に基づいて並行数を設定してください。
API の位置づけ
よく出てくる5つの統合パターン:
1. EC の商品アップロード。 マーチャントが商品写真をアップロードしたら Remove BG を呼び出し、透過 PNG をオリジナルの隣に保存し、テンプレートシステムがブランド背景(リスティング用の白、ヒーローショット用のグラデーション、キャンペーンページ用のシーズナルカラー)に合成できるようにします。モデルを再実行する必要はありません。
2. デザインツールのアセットパイプライン。 キャンバスに画像をドラッグすると、背景が消える。これは Figma / Canva モデルであり、我々がチューニングしたレイテンシバジェットです。
3. フォトアプリ。 オンデバイスモデルは進化していますが、サイズが大きく、古いハードウェアでは遅く、更新コストも高いです。アプリが他の目的ですでにネットワークラウンドトリップを行っている場合、API の切り抜きが正解であることが多い — バイナリは小さく、結果はより良く、改善も容易です。
4. 広告クリエイティブの自動化。 商品フィードで駆動される可変背景の広告テンプレート:背景を1回除去し、N 回合成し、N 個のクリエイティブを出稿。Remove BG がその「1回」のステップです。
5. AI 生成パイプライン。 ジェネレーターが無地の背景に被写体を生成し、次のパイプラインがそれをシーンに合成。このステップでのクリーンなアルファが、使える出力と明らかな AI のスミアの違いを生みます。
失敗モードと対処法
すべての画像 API には得意でない入力があります。注意すべきもの:
- 非常に低解像度の画像(長辺 400px 以下)。モデルはエッジのマッティングに十分な信号を必要とし、それ以下では切り抜きが量子化されたように見えます。ユーザー向けプロダクトを構築している場合は、呼び出す前に小さすぎる画像を拒否してください。
- 透過入力。 ソースにすでにアルファチャンネルがある場合、モデルは透過領域を背景として解釈します。既存の透過を保持したい場合は、呼び出す前に白で平坦化してください。
- 極端なモーションブラー。 レーシングカー、アクションスポーツ。モデルは被写体を保持しますが、よりシャープなキャプチャの場合よりもエッジがさらにソフトになります。
- 被写体と背景のカラー衝突。 白いシート上の白いドレス、黒いソファの上の黒い犬。結果はまだ使用可能ですが、エッジの信頼度が低下します。これらは人間レビューステップを入れる価値のあるケースです。
レスポンスには code フィールドが含まれます。0 は成功です。非ゼロ値(人間可読な message と共に)は入力の問題を示します — 到達不能な URL、非対応フォーマット、画像サイズ超過、レート制限。非ゼロはリトライ(ネットワークエラー)またはフェイルファスト(入力エラー)に分岐するシグナルとして扱ってください。
料金と運用ノート
パブリックプランは成功した呼び出しごとの従量課金で、未使用のボリュームが翌月に消滅しないロールオーバークレジット付きです。大量利用の場合 — 月あたり数千万枚の画像 — エンタープライズティアは固定レートのコミットメントで、専用キー、カスタムレート制限、プライオリティキューが含まれます。無料側にサイズティアはありません:品質はすべてのプランで同一であり、変わるのはボリュームと SLA のみです。
出力画像はダウンロードしてキャッシュするのに十分な期間有効な CDN URL で提供されます。ホットリンクせず、結果をプルして自分のバケットに保存し、そこから配信してください。URL はリクエストにスコープされ、長期間有効ではありません。
すぐに始める
- codia.ai/dashboard/developer でキーを取得。
- 任意の商品写真に対して上記の
curlを実行。 data.image_urlをダウンロードし、暗い背景に合成してエッジをズームイン確認。- 問題なければ — そうなるはずです — アップロード後のステップとしてパイプラインに組み込んでください。
完全なリファレンス、エラーコード、ボリューム料金は /api#remove-background にあります。
目標は退屈な API でした。1つのエンドポイント、高速でクリーンな切り抜き、負荷の下でも信頼性がある。組み込んだ後に考えなくて済むなら、それが勝利です。