API 概要

Clipping Magic は、画像のアップロードおよび結果のダウンロードを自動化するために、REST 指向のウェブ API を提供します。 ClippingMagic.js で Clipping Magic エディターをお客様のウェブサイトに統合し、ユーザーが背景の削除をお客様のウェブサイトで行うことができるようにします。

API は、ユーザーが提供した画像から背景を削除する必要があるウェブサイトや、一連の画像の背景を削除するグラフィックデザイナーを擁する E コマースウェブサイトで特に便利です。

API を使用するには、API キーと若干のウェブプログラミング技術が必要です。

操作の理論

エンドユーザーによる背景の削除

代表的な状況は、エンドユーザーに画像をお客様のサイトにアップロードして貰い、お客様のサイト画像ワークフローの一環として、ユーザーにその画像から背景を削除する機能を提供することです。 通常取り得るステップは以下となります。

  1. ユーザーが画像をウェブサイトにアップロードする。

  2. バックエンドサーバーが画像をバックエンド API 経由で ClippingMagic.com に転送し、画像 ID とシークレットを取得する。

    ウェブクライアントは、セキュリティの理由により、画像を直接 ClippingMagic.com にアップロードすることはできません。

  3. バックエンドサーバーが画像 ID とシークレットをウェブクライアントに転送する。 AJAX を使用している場合、この情報を画像アップロードへの回答に含めることができます。 そうでない場合、この情報は、ユーザーの画像アップロードへの回答としてのウェブページのレンダリングに埋め込むことができます。

  4. お客様のサイトで、javascript コードによって 1 枚の画像の編集ワークフローを起動させることにより、エンドユーザーが ClippingMagic.js において前ステップからの画像 ID およびシークレットを使って背景を削除することができるようにします。

  5. ClippingMagic.js から result-generated コールバックを受信したら、javascript コードがバックエンドにその画像の結果をダウンロードするよう通知する。

  6. バックエンドサーバーは結果をダウンロードし、サイト固有のワークフローにしたがって、その次のステップを続行する。

内部スタッフによる背景の削除

代表的な状況は、処理すべき多くの画像があり、スタッフがそれらを処理することです。通常取り得るステップは以下となります。

  1. バックエンド API 経由で、画像のバッチを 1 枚ずつアップロードする。 それぞれの画像 id とシークレットを取得して保存する。

  2. お客様の内部システムで、画像を適切なバッチでスタッフに割り当てる。 各スタッフが ClippingMagic.js により、複数の画像を連続的に編集 ワークフローおよびステップ 1 からのそれぞれに対応する画像 id とシークレットを使ってバッチの背景削除作業を行う。

    代表的なバッチサイズは、10 から 100 まで、画像の量と特徴によって、異なります。

  3. result-generatedClippingMagic.js から受信したら、バックエンドにその画像の結果をダウンロードするように通知する。

  4. 上記を繰り返す。

バックエンド対フロントエンド

すべてのアップロードおよびダウンロード作業はバックエンドで行われますが、すべてのクリップ作業は ClippingMagic.js を使ってウェブクライアント(フロントエンド)で行われることに注意してください。

この分割は、API キーを保護すると共に、お客様のサイトにおけるシームレスなエンドユーザーエクスペリエンスを可能にします。

詳細

  • サブスクリプションにサインアップせずに API を試験モードで使用することができますが、実用で使用する場合は、API サブスクリプション にサインアップする必要があります。
  • すみませんが、通常のウェブサイトサブスクリプションは、API アクセスに含まれていません。
  • API を通してアップロードされたすべての画像をメインの Clipping Magic ウェブサイトで表示して編集したり(API ユーザーとしてログインした場合)、その逆ができます。 これは、デバッグ時または API 画像フローを確認する必要がある場合に非常に便利です。
  • API に頻度の制限はありませんが、あまり乱暴に扱わないよう、節度を守ってください。
  • リクエストを正しく行うには、http クライアントライブラリは、サーバー名表示(SNI) に対応している必要があります。 おかしなハンドシェークエラーが発生する場合、大抵これが原因となっています。

フィードバック

何か欠けている点または説明が不十分なところはありますか?お客様の実装では追加機能が必要ですか?

ぜひお知らせください。対応させていただきます!