Create a new image target | POST /targets
Upload a recognition image and create a new image target.
Action
POST /targets
Authentication
Http Header
Content-Type=application/json
HTTP Header: Authorization (when using API Key Token authentication)
Request parameters
| Field | Type | Required | Description |
|---|---|---|---|
| image | String(base64) | Yes | Base64-encoded string of the image content. JPG and PNG images are supported. The maximum image size is 2MB. |
| active | String | No | "1" means enable the target, and "0" means disable the target. The default is "1". |
| name | String | Yes | Target name. Only English letters, English punctuation, and digits are supported. The minimum length is 1 character and the maximum length is 64 characters. |
| size | String (Float) | Yes | Recognition image width (unit: cm). The height of the recognition image is automatically calculated by the system based on the image you upload. The size of the recognition image corresponds to the size of the virtual content. The default is 20. |
| meta | String | Yes | Usually used to store AR content information in text string format. The default is "". For example: JSON information of the recognized object, base64 encoding of an image, or the URL download address of a large file in cloud storage. Maximum 2MB. |
| type | String (Float) | Yes | Must be fixed as the string "ImageTarget". The case must match exactly. |
| allowSimilar | String | No | Whether to forcibly allow adding if a similar image exists. The default is 0. Similar images may affect recognition results, so the default is recommended. |
Note
- image maximum limit: 2MB
- meta maximum limit: 2MB
Request example
POST /targets/ HTTP/1.1
Host:
Date: Mon, 1 Jan 2018 00:00:00 GMT
Content-Type: application/json
{
"image":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgM...",
"active":"1",
"name":"easyar",
"size":"5",
"meta":"496fbbabc2b38ecs3460a...",
"type":"ImageTarget",
"timestamp": 1514736000000,
"appKey": "test_app_key",
"signature": "89985e2420899196db5bdf16b3c2ed0922c0c221"
}
Response example
HTTP/1.1 200 OK
Content-Type: application/json
{
"statusCode": 0,
"result": {
"target": {
"targetId":"e61db301-e80f-4025-b822-9a00eb48d8d2",
"trackingImage":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgM...",
"name": "easyar",
"size": "5",
"meta": "496fbbabc2b38ecs3460a...",
"type": "ImageTarget",
"modified":1514735000000
"active":"1",
"trackableRate": 0,
"detectableRate": 0,
"detectableDistinctiveness":0,
"detectableFeatureCount", 0,
"trackableDistinctiveness", 0,
"trackableFeatureCount", 0,
"trackableFeatureDistribution", 0,
"trackablePatchContrast", 0,
"trackablePatchAmbiguity", 0
}
},
"timestamp": 1514736000000
}
Response fields
| Field | Description |
|---|---|
| statusCode | Status code. 0 means authentication is correct. For more information, see Status codes |
| result | Error message or target image information |
| timestamp | Server-side time when the response is returned. Uses Unix timestamp format in milliseconds |
| result.targetId | Unique ID of the target image |
| result.trackingImage | Base64-encoded string of the tracking image |
| result.name | Target name |
| result.size | Recognition image width (unit: cm). The height of the recognition image is automatically calculated by the system based on the image you upload. The size of the recognition image corresponds to the size of the overlaid virtual content |
| result.meta | Base64-encoded additional information, such as the string generated by base64-encoding a json string |
| result.type | Fixed as ImageTarget |
| result.active | "1" enabled, "0" disabled |
Error codes
See Complete list of status codes and error codes
Meta usage instructions
- Associate a video URL
- For each recognition target, you can store the video URL associated with that specific target in the meta field
- After your application recognizes the target, use the URL in meta to connect to the server, download, and play the video, for example
https://my_server/my_videos/my_video_001.mp4
- Associate a 3D model
- For each recognition target, you can store a meta field that contains a 3D model or Unity asset bundle associated with that specific target
- You need to base64-encode the model and then store it in meta, or store the model URL in the metadata
- After the application recognizes the target, it renders the 3D model on the detected target