プラットフォームAPI: イメージ・ターゲット
8th Wall Image Target Management APIにより、開発者は8th Wall powered WebARプロジェクトに関連する イメージターゲット ライブラリ を動的に管理することができます。 このAPIと付属のドキュメントは、Web開発 & 8th Wallイメージ・ターゲットに精通した開発者向けに設計されています。
始める前にImage Target API を使用する前に、ワークスペースが ProまたはEnterprise課金プランである必要があります。 アップグレードをご希望の方は、営業担当までご連絡ください。
認証
認証は秘密鍵によって行われます。 ProプランまたはEnterpriseプランのワークスペースは、APIキーをリクエストできます。 リクエストが承認されていることを確認するために、各リクエストにこの秘密鍵を含めることになります。 キーはワークスペースにスコープされているので、キーはそのワークスペース内の全アプリの、すべてのイメージ・ターゲットにアクセスできます。
キーはアカウントページで確認することができます。
重要
Image Target APIキーは、ワークスペースに関連付けられたB2Bキーです。 APIキーを公開すると、意図しない利用や不正アクセスにつながる可能性があるため、ベストプラクティスに従ってAPIキーを保護してください。 以下の点を特に避けてください。
- ユーザーの端末で実行されるコードや、一般に公開されるコードにImage Target API Keyを埋め込むこと
- アプリケーションのソースツリー内にImage Target API Keyを格納すること
制限とクォータ
- 1分間に25リクエスト、バースト許容量は500リクエストです。つまり、1分間に500リクエストした後、1分間に25リクエストすることができます。20分後、再び500リクエストすることができます。
- 1日あたりのリクエスト上限は10,000です。
注: これらの制限は、Image Target Management API にのみ適用され、開発者は 8th Wallプロジェクトに関連する画像のライブラリを動的に管理することができます。 これらの制限は、Web AR体験のエンドユーザーによるアクティベーションには、 適用されません。
ワークスペース内のプロジェクトに対するImage Target APIのクォータ制限の増加を希望する場合は、サポートにリクエストを送信してください。
エンドポイント
イメージ・ターゲットの作成
アプリのイメージ・ターゲットリストに、新しいターゲットをアップロードします。
リクエスト
curl -X POST "https://api.8thwall.com/v1/apps/$APP_KEY/targets" \
-H "X-Api-Key:$SECRET_KEY" \
-F "name=my-target-name" \
-F "image=@image.png"\
-F "geometry.top=0"\
-F "geometry.left=0"\
-F "geometry.width=480"\
-F "geometry.height=640"\
-F "metadata={\"customFlag\":true}"
-F "loadAutomatically=true"
フィールド | タイプ | デフォルト値 | 説明 |
---|---|---|---|
image | Binary data | PNGまたはJPEG形式で、480x640以上、2048x2048未満、10MB未満である必要があります。 | |
name | String | アプリ内で一意である必要があり、チルダ(~)を含めることはできません。255文字を超えることはできません。 | |
type [Optional] | String | 'PLANAR' | 'PLANAR' , 'CYLINDER' , または 'CONICAL' のいずれかです。 |
metadata [Optional] | String | null | metadataIsJson がtrueの場合、有効なJSONである必要があり、2048 文字を超えることはできません。 |
metadataIsJson [Optional] | Boolean | true | メタデータプロパティを生の文字列として使用する場合は、falseを設定することができます。 |
loadAutomatically [Optional] | Boolean | false | 各アプリは、loadAutomatically: true で、5つのイメージ・ターゲットに制限されています。 |
geometry.isRotated [Optional] | Boolean | false | 画像が横向きから縦向きにあらかじめ回転している場合、trueに設定します。 |
geometry.top | integer | これらのプロパティは、画像に適用するクロップを指定します。 アスペクト比は3:4で、少なくとも480x640でなければなりません。 | |
geometry.left | integer | ||
geometry.width | integer | ||
geometry.height | integer | ||
geometry.topRadius | integer | type: 'CONICAL' でのみ必要です。 | |
geometry.bottomRadius | integer | type: 'CONICAL' でのみ必要です。 |
平面/曲面のジオメトリをアップロードする
このダイアグラムは、アップロードされた画像に対して、imageUrl
とthumbnailImageUrl
を生成するために、指定したクロップがどのように適用されるかを示しています。 幅: 高さの比率は常に3: 4です。
横長のクロップは、画像を時計回りに90度回転させた状態でアップロードし、geometry.isRotated: true
を設定して、回転させた画像に対してクロップを指定します。
円錐のジオメトリをアップロードする
この図は、アップロードされた画像が、パラメータに基づいてどのように平坦化され、クロップされるかを示しています。 アップロードされた画像は、コンテンツの上端と下端が2つの同心円に揃う「レインボー」形式になっています。 ターゲットの上部が下部より狭い場合、外側の半径(マイナス)としてtopRadius
を、内側の半径(プラス)としてbottomRadius
を指定してください。 縦長のクロップは、geometry.isRotated: true
を設定し、クロップ適用前に平坦化された画像を回転させます。