このトピックでは、SearchByPic API の構文について説明し、例を示します。 この API を呼び出して、サンプル画像に基づいて Image Search インスタンスの画像をクエリできます。
デバッグ
SDK リリースノート
Image Search SDK が V3.1.1 にアップグレードされました。 V3.1.1 では、複数の被写体について認識および類似性スコア機能を使用できます。 詳細については、「Java SDK」をご参照ください。
リクエストパラメーター
パラメーター | データ型 | 必須/任意 | 例 | 説明 |
---|---|---|---|---|
InstanceName | String | 必須 | demoinstance1 |
Image Search インスタンスの名前を設定します。 |
PicContent | String | 必須 | xxxx |
画像ファイルです。 画像ファイルは Base64 でエンコードされています。
|
CategoryId | Integer | 任意 | 88888888 |
商品のカテゴリを設定します。 詳細については、「カテゴリリファレンス」をご参照ください。
|
Crop | Boolean | 任意 | true |
画像内の被写体を検出し、検出した被写体に基づいて画像を検索するかどうかを指定します。 設定可能な値は、true および false です。 デフォルト値は true です。
|
Region | String | 必須 | 280,486,232,351 |
画像の被写体エリアを示します。 被写体エリアは、 注
|
Num | Integer | 任意 | 10 |
返される画像の数を設定します。 設定可能な値は 1 ~ 100 です。デフォルト値は 10 です。 |
Start | Integer | 任意 | 0 |
最初に表示される画像の番号を設定します。 設定可能な値は 0 ~ 499 です。 デフォルト値は 0 です。 |
Filter | String | 必須 | int_attr=1000 AND str_attr="value1" |
フィルタリングの条件を設定します。 int_attr フィールドでは、演算子 >、> =、<、<=、および = がサポートされています。 str_attr フィールドでは、演算子 = および ! = がサポートされています。複数のフィルタリング条件は、AND または OR で結合します。 例: int_attr>=100, str_attr!="value1", and int_attr=1000 AND str_attr="value1" |
レスポンスパラメーター
パラメーター | データ型 | 例 | 英語 |
---|---|---|---|
Msg | String | success |
エラーメッセージを示します。 |
Head | object |
一般検索の結果を示します。 |
|
DocsFound | Integer | 10 |
返された画像の数を示します。 |
DocsReturn | Integer | 10000 |
Image Search インスタンス内で一致した画像の数を示します。 |
SearchTime | Integer | 95 |
検索にかかった時間 (ミリ秒単位) を示します。 |
RequestId | String | B3137727-7D6E-488C-BA21-0E034C38A879 |
リクエストの ID を示します。 |
Auctions | Array of Auction |
返されたすべての商品の説明を示します。 |
|
PicName | String | 2092061_1.jpg |
画像名を示します。 |
IntAttr | Integer | 2 |
データ型 Integer の属性を示します。 |
CategoryId | Integer | 8888888 |
画像のカテゴリを示します。 |
ProductId | String | 2092061_1 |
商品の ID を示します。 |
StrAttr | String | 2 |
データ型 String の属性を示します。 |
SortExprValues | String | 5.37633353624177e+24;0 |
画像に関するスコア情報を示します。 注
|
CustomContent | String | zidingyi |
ユーザー定義のコンテンツを指定します。 |
Score | Float | 1 |
検索された画像の類似度スコアを示します。 有効な値は 0~1 です。 |
Code | Integer | 0 |
エラーコードを示します。 値が 0 の場合、リクエストの成功を示します。 値が 0 でない場合、リクエストの失敗を示します。 |
PicInfo | object |
カテゴリ予測や被写体検出の結果などの情報を示します。 |
|
Region | String | 280,486,232,351 |
被写体検出の結果を示します。 画像の被写体エリアを示します。 被写体エリアは、x1,x2,y1,y2 の形式です。x1, y1 は左上のピクセルを表し、x2,y2 は右下のピクセルを表します。 リクエストで被写体エリアが指定されている場合は、指定された被写体エリアが優先されます。 |
CategoryId | Integer | 88888888 |
カテゴリ予測の結果を示します。 リクエストでカテゴリが指定されている場合、指定されたカテゴリが優先されます。 |
MultiRegion | Array of reg |
すべての認識された被写体を示します。 |
|
Region | String | 88888888 |
被写体検出の結果を示します。 画像の被写体エリアを示します。 被写体エリアは、x1,x2,y1,y2 の形式です。x1,y1 は左上のピクセルを表し、x2,y2 は右下のピクセルを表します。 リクエストで被写体エリアが指定されている場合は、指定された被写体エリアが優先されます。 |
AllCategories | Array of Category |
システムでサポートされているすべてのカテゴリを示します。 |
|
Name | String | other |
カテゴリ名を示します。 |
Id | Integer | 88888888 |
カテゴリ ID を示します。 |
Success | Boolean | true |
リクエストが成功したかどうかを示します。 |
コーディング例
リクエストの例
{
"InstanceName": "demoinstance",
"PicContent": "${Base64ImageContent}",
}
正常なレスポンスの例
JSON
形式
HTTP/1.1 200 OK
Content-Type:application/json
{
"Auctions" : [ {
"CategoryId" : 0,
"PicName" : "demo",
"SortExprValues" : "7.33136443711219e+24;0",
"Score" : 1.0,
"ProductId": "demo"
} ],
"Head" : {
"DocsReturn" : 1,
"DocsFound" : 1,
"SearchTime" : 155
},
"PicInfo" : {
"CategoryId" : 0,
"Region" : "111,697,113,774",
"AllCategories" : [ {
"Name" : "Tops",
"Id" : 0
}, {
"Name" : "Dress",
"Id" : 1
}, {
"Name" : "Bottoms",
"Id" : 2
}, {
"Name" : "Bag",
"Id" : 3
}, {
"Name" : "Shoes",
"Id" : 4
}, {
"Name" : "Accessories",
"Id" : 5
}, {
"Name" : "Snack",
"Id" : 6
}, {
"Name" : "Makeup",
"Id" : 7
}, {
"Name" : "Bottle",
"Id" : 8
}, {
"Name" : "Furniture",
"Id" : 9
}, {
"Name" : "Toy",
"Id" : 20
}, {
"Name": "Underwear",
"Id" : 21
}, {
"Name" : "Digital device",
"Id" : 22
}, {
"Name" : "Other",
"Id" : 88888888
} ],
"MultiRegion" : [ {
"Region" : "604,1814,451,1358"
}, {
"Region" : "843,1615,687,1138"
} ]
},
"RequestId" : "D61D869E-E92A-447F-AD67-9234F999E516",
"Msg" : "success",
"Success" : true,
"Code" : 0
}
エラーコード
HttpCode | エラーコード | エラーメッセージ | 説明 |
---|---|---|---|
400 | BadRequest | The request has invalid parameters. | 指定されたパラメーターが無効な場合に返されるエラーメッセージです。 |
400 | InstanceStatusError | Your instance is unavailable. | インスタンスが使用できない場合に返されるエラーメッセージです。 |
400 | InvalidInstance | The specified instance name is invalid. | 指定されたインスタンス名が無効な場合に返されるエラーメッセージです。 |
400 | NoCaretSeperator | The body content is missing the ^ separator. | リクエストの本文に特定のシンボルがない場合に返されるエラーメッセージです。 |
400 | EmptyMeta | The body content has an empty meta field. | リクエストの本文に空のフィールドが含まれている場合に返されるエラーメッセージです。 |
400 | InvalidMetaItem | The meta field is invalid. | metadata フィールドが無効である場合に返されるエラーメッセージです。 |
400 | NoPicList | The body content is missing the pic_list parameter. | pic_list フィールドが指定されていない場合に返されるエラーメッセージです。 |
400 | InvalidPicList | The specified pic_list parameter is invalid. | pic_list フィールドが無効な場合に返されるエラーメッセージです。 |
400 | InvalidCategory | The specified category is invalid. | カテゴリ ID が無効な場合に返されるエラーメッセージです。 |
400 | OverflowMaxResultNum | The specified number of total results exceeds the maximum of 500. | サンプル画像に対して返された結果の数が上限 (500) に達した場合に返されるエラーメッセージです。 |
400 | OverflowMaxReturnNum | The specified number of results for each request exceeds the maximum of 100. | 単一のリクエストに対して返された結果の数が上限 (100) に達した場合に返されるエラーメッセージです。 |
400 | InvalidNumParameter | The specified parameter n is invalid. | num フィールドが無効である場合に返されるエラーメッセージです。 |
400 | InvalidIntAttr | The specified int_attr field is invalid. | int filter フィールドが無効である場合に返されるエラーメッセージです。 |
400 | UnsupportedPicFormat | The specified image format is invalid. | 画像の形式が無効である場合に返されるエラーメッセージです。 |
400 | InvalidFilterClause | The specified filtering condition is invalid. | フィルタリング条件が無効な場合に返されるエラーメッセージです。 |
400 | InstanceOverQuota | The number of items exceeds the limit. | インスタンスの数が上限を超えた場合に返されるエラーメッセージです。 |
400 | IncorrectOrientation | The image contains incorrect rotation flags in the meta data. | 画像にサポートされていない回転情報が含まれている場合に返されるエラーメッセージです。 |
400 | UnsupportedPicPixels | The specified pixels is not supported. | 画像のピクセル数がサポートされていない場合に返されるエラーメッセージです。 |
403 | NoPermission | You are not authorized to perform this operation. | 該当の操作を実行する権限がない場合に返されるエラーメッセージです。 |
403 | DeniedRequest | Your request was denied due to instance flow control. | 帯域幅調整が行われ、リクエストが拒否された場合に返されるエラーメッセージです。 |
500 | InternalError | An internal server error occurred. | 内部エラーが発生した場合に返されるエラーメッセージです。 |
500 | NetworkException | A network error occurred. | ネットワークエラーが発生した場合に返されるエラーメッセージです。 |
500 | UnsupportedInstanceType | The instance type is not supported. | インスタンスタイプがサポートされていない場合に返されるエラーメッセージです。 |
500 | UnsupportedOperationType | The specified action is not supported. | 指定された操作がサポートされていない場合に返されるエラーメッセージです。 |
500 | AccessEngineFailed | An error occurred while accessing the search engine. | 検索エンジンにアクセスした際にエラーが発生した場合に返されるエラーメッセージです。 |
500 | InternalOssError | An internal OAS error occurred. | 内部アルゴリズムエラーが発生した場合に返されるエラーメッセージです。 |
500 | InternalSwiftError | An internal SWIFT error occurred. | 内部メッセージキューエラーが発生した場合に返されるエラーメッセージです。 |
500 | InternalTableStoreError | An internal Table Store error occurred. | 内部ストレージエラーが発生した場合に返されるエラーメッセージです。 |
エラーコードのリストについては、「API エラーセンター」をご参照ください。
エラーコード
詳細については、「エラーコード」をご参照ください。