Images
Make predictions on image inputs

Via URL

To get predictions for an input, you need to supply an image and the model you'd like to get predictions from. You can supply an image either with a publicly accessible URL or by directly sending bytes. You can send up to 128 images in one API call. You specify the model you'd like to use with the {model-id} parameter.
Below is an example of how you would send image URLs and receive back predictions from the general model.
Python
PHP
Java
NodeJS
cURL
Javascript (REST)
1
# Insert here the initialization code as outlined on this page:
2
# https://docs.clarifai.com/api-guide/api-overview/api-clients#client-installation-instructions
3
4
post_model_outputs_response = stub.PostModelOutputs(
5
service_pb2.PostModelOutputsRequest(
6
user_app_id=userDataObject, # The userDataObject is created in the overview and is required when using a PAT
7
model_id="{THE_MODEL_ID}",
8
version_id="{THE_MODEL_VERSION_ID}", # This is optional. Defaults to the latest model version.
9
inputs=[
10
resources_pb2.Input(
11
data=resources_pb2.Data(
12
image=resources_pb2.Image(
13
url="https://samples.clarifai.com/metro-north.jpg"
14
)
15
)
16
)
17
]
18
),
19
metadata=metadata
20
)
21
if post_model_outputs_response.status.code != status_code_pb2.SUCCESS:
22
print("There was an error with your request!")
23
print("\tCode: {}".format(post_model_outputs_response.outputs[0].status.code))
24
print("\tDescription: {}".format(post_model_outputs_response.outputs[0].status.description))
25
print("\tDetails: {}".format(post_model_outputs_response.outputs[0].status.details))
26
raise Exception("Post model outputs failed, status: " + post_model_outputs_response.status.description)
27
28
# Since we have one input, one output will exist here.
29
output = post_model_outputs_response.outputs[0]
30
31
print("Predicted concepts:")
32
for concept in output.data.concepts:
33
print("%s %.2f" % (concept.name, concept.value))
Copied!
1
<?php
2
# Insert here the initialization code as outlined on this page:
3
# https://docs.clarifai.com/api-guide/api-overview/api-clients#client-installation-instructions
4
5
///////////////////////////////////////////////////////////////////////////////
6
// Specifying the Request Data
7
///////////////////////////////////////////////////////////////////////////////
8
//
9
// In the Clarifai platform an image is defined by a special Image object.
10
// There are several ways in which an Image object can be populated including
11
// by url and image bytes (base64).
12
//
13
$image = new Image([
14
'url' => 'https://samples.clarifai.com/dog2.jpeg'
15
]);
16
17
//
18
// After an Image object is created, a Data object is constructed around it.
19
// The Data object offers a container that contains additional image independent
20
// metadata. In this particular use case, no other metadata is needed to be
21
// specified.
22
//
23
$data = new Data([
24
'image' => $image
25
]);
26
27
//
28
// The Data object is then wrapped in an Input object in order to meet the
29
// API specification. Additional fields are available to populate in the Input
30
// object, but for the purposes of this example we can send in just the
31
// Data object.
32
//
33
$input = new Input([
34
'data' => $data
35
]);
36
37
///////////////////////////////////////////////////////////////////////////////
38
// Creating the request object
39
///////////////////////////////////////////////////////////////////////////////
40
//
41
// Finally, the request object itself is created. This object carries the request
42
// along with the request status and other metadata related to the request itself.
43
// In this example we populate:
44
// - the `user_app_id` field with the UserAppIDSet constructed above
45
// - the `model_id` field with the ID of the model we are referencing
46
// - the `inputs` field with an array of input objects constructed above
47
//
48
$request = new PostModelOutputsRequest([
49
'user_app_id' => $userDataObject, // This is defined above
50
'model_id' => 'aaa03c23b3724a16a56b629203edc62c', // This is the ID of the publicly available General model.
51
'inputs' => [$input]
52
]);
53
54
///////////////////////////////////////////////////////////////////////////////
55
// Making the RPC call
56
///////////////////////////////////////////////////////////////////////////////
57
//
58
// Once the request object is constructed, we can call the actual request to the
59
// Clarifai platform. This uses the opened gRPC client channel to communicate the
60
// request and then wait for the response.
61
//
62
[$response, $status] = $client->PostModelOutputs(
63
$request,
64
$metadata
65
)->wait();
66
67
///////////////////////////////////////////////////////////////////////////////
68
// Handling the Response
69
///////////////////////////////////////////////////////////////////////////////
70
//
71
// The response is returned and the first thing we do is check the status of it.
72
// A successful response will have a status code of 0, otherwise there is some
73
// reported error.
74
//
75
if ($status->code !== 0) throw new Exception("Error: {$status->details}");
76
77
//
78
// In addition to the RPC response status, there is a Clarifai API status that
79
// reports if the operationo was a success or failure (not just that the commuunication)
80
// was successful.
81
//
82
if ($response->getStatus()->getCode() != StatusCode::SUCCESS) {
83
throw new Exception("Failure response: " . $response->getStatus()->getDescription() . " " .
84
$response->getStatus()->getDetails());
85
}
86
87
//
88
// The output of a successful call can be used in many ways. In this example,
89
// we loop through all of the predicted concepts and print them out along with
90
// their numerical prediction value (confidence).
91
//
92
echo "Predicted concepts:\n";
93
foreach ($response->getOutputs()[0]->getData()->getConcepts() as $concept) {
94
echo $concept->getName() . ": " . number_format($concept->getValue(), 2) . "\n";
95
}
96
?>
Copied!
1
import com.clarifai.grpc.api.*;
2
import com.clarifai.grpc.api.status.*;
3
4
// Insert here the initialization code as outlined on this page:
5
// https://docs.clarifai.com/api-guide/api-overview/api-clients#client-installation-instructions
6
7
MultiOutputResponse postModelOutputsResponse = stub.postModelOutputs(
8
PostModelOutputsRequest.newBuilder()
9
.setModelId("{THE_MODEL_ID}")
10
.setVersionId("{THE_MODEL_VERSION_ID") // This is optional. Defaults to the latest model version.
11
.addInputs(
12
Input.newBuilder().setData(
13
Data.newBuilder().setImage(
14
Image.newBuilder().setUrl("https://samples.clarifai.com/metro-north.jpg")
15
)
16
)
17
)
18
.build()
19
);
20
21
if (postModelOutputsResponse.getStatus().getCode() != StatusCode.SUCCESS) {
22
throw new RuntimeException("Post model outputs failed, status: " + postModelOutputsResponse.getStatus());
23
}
24
25
// Since we have one input, one output will exist here.
26
Output output = postModelOutputsResponse.getOutputs(0);
27
28
System.out.println("Predicted concepts:");
29
for (Concept concept : output.getData().getConceptsList()) {
30
System.out.printf("%s %.2f%n", concept.getName(), concept.getValue());
31
}
Copied!
1
// Insert here the initialization code as outlined on this page:
2
// https://docs.clarifai.com/api-guide/api-overview/api-clients#client-installation-instructions
3
4
stub.PostModelOutputs(
5
{
6
model_id: "{THE_MODEL_ID}",
7
version_id: "{THE_MODEL_VERSION_ID}", // This is optional. Defaults to the latest model version.
8
inputs: [
9
{data: {image: {url: "https://samples.clarifai.com/metro-north.jpg"}}}
10
]
11
},
12
metadata,
13
(err, response) => {
14
if (err) {
15
throw new Error(err);
16
}
17
18
if (response.status.code !== 10000) {
19
throw new Error("Post model outputs failed, status: " + response.status.description);
20
}
21
22
// Since we have one input, one output will exist here.
23
const output = response.outputs[0];
24
25
console.log("Predicted concepts:");
26
for (const concept of output.data.concepts) {
27
console.log(concept.name + " " + concept.value);
28
}
29
}
30
);
Copied!
1
curl -X POST
2
-H 'Authorization: Key YOUR_API_KEY'
3
-H "Content-Type: application/json"
4
-d '
5
{
6
"inputs": [
7
{
8
"data": {
9
"image": {
10
"url": "https://samples.clarifai.com/metro-north.jpg"
11
}
12
}
13
}
14
]
15
}'
16
https://api.clarifai.com/v2/models/{THE_MODEL_ID}/versions/{THE_MODEL_VERSION_ID}/outputs
Copied!
1
const raw = JSON.stringify({
2
"user_app_id": {
3
"user_id": "{YOUR_USER_ID}",
4
"app_id": "{YOUR_APP_ID}"
5
},
6
"inputs": [
7
{
8
"data": {
9
"image": {
10
"url": "https://samples.clarifai.com/metro-north.jpg"
11
}
12
}
13
}
14
]
15
});
16
17
const requestOptions = {
18
method: 'POST',
19
headers: {
20
'Accept': 'application/json',
21
'Authorization': 'Key {YOUR_PERSONAL_TOKEN}'
22
},
23
body: raw
24
};
25
26
// NOTE: MODEL_VERSION_ID is optional, you can also call prediction with the MODEL_ID only
27
// https://api.clarifai.com/v2/models/{YOUR_MODEL_ID}/outputs
28
// this will default to the latest version_id
29
30
fetch("https://api.clarifai.com/v2/models/{YOUR_MODEL_ID}/versions/{MODEL_VERSION_ID}/outputs", requestOptions)
31
.then(response => response.text())
32
.then(result => console.log(JSON.parse(result, null, 2).outputs[0].data))
33
.catch(error => console.log('error', error));
Copied!
Response JSON
1
{
2
"status": {
3
"code": 10000,
4
"description": "Ok"
5
},
6
"outputs": [
7
{
8
"id": "ea68cac87c304b28a8046557062f34a0",
9
"status": {
10
"code": 10000,
11
"description": "Ok"
12
},
13
"created_at": "2016-11-22T16:50:25Z",
14
"model": {
15
"name": "general-v1.3",
16
"id": "aaa03c23b3724a16a56b629203edc62c",
17
"created_at": "2016-03-09T17:11:39Z",
18
"app_id": null,
19
"output_info": {
20
"message": "Show output_info with: GET /models/{model_id}/output_info",
21
"type": "concept"
22
},
23
"model_version": {
24
"id": "aa9ca48295b37401f8af92ad1af0d91d",
25
"created_at": "2016-07-13T01:19:12Z",
26
"status": {
27
"code": 21100,
28
"description": "Model trained successfully"
29
}
30
}
31
},
32
"input": {
33
"id": "ea68cac87c304b28a8046557062f34a0",
34
"data": {
35
"image": {
36
"url": "https://samples.clarifai.com/metro-north.jpg"
37
}
38
}
39
},
40
"data": {
41
"concepts": [
42
{
43
"id": "ai_HLmqFqBf",
44
"name": "train",
45
"app_id": null,
46
"value": 0.9989112
47
},
48
{
49
"id": "ai_fvlBqXZR",
50
"name": "railway",
51
"app_id": null,
52
"value": 0.9975532
53
},
54
{
55
"id": "ai_Xxjc3MhT",
56
"name": "transportation system",
57
"app_id": null,
58
"value": 0.9959158
59
},
60
{
61
"id": "ai_6kTjGfF6",
62
"name": "station",
63
"app_id": null,
64
"value": 0.992573
65
},
66
{
67
"id": "ai_RRXLczch",
68
"name": "locomotive",
69
"app_id": null,
70
"value": 0.992556
71
},
72
{
73
"id": "ai_VRmbGVWh",
74
"name": "travel",
75
"app_id": null,
76
"value": 0.98789215
77
},
78
{
79
"id": "ai_SHNDcmJ3",
80
"name": "subway system",
81
"app_id": null,
82
"value": 0.9816359
83
},
84
{
85
"id": "ai_jlb9q33b",
86
"name": "commuter",
87
"app_id": null,
88
"value": 0.9712483
89
},
90
{
91
"id": "ai_46lGZ4Gm",
92
"name": "railroad track",
93
"app_id": null,
94
"value": 0.9690325
95
},
96
{
97
"id": "ai_tr0MBp64",
98
"name": "traffic",
99
"app_id": null,
100
"value": 0.9687052
101
},
102
{
103
"id": "ai_l4WckcJN",
104
"name": "blur",
105
"app_id": null,
106
"value": 0.9667078
107
},
108
{
109
"id": "ai_2gkfMDsM",
110
"name": "platform",
111
"app_id": null,
112
"value": 0.9624243
113
},
114
{
115
"id": "ai_CpFBRWzD",
116
"name": "urban",
117
"app_id": null,
118
"value": 0.960752
119
},
120
{
121
"id": "ai_786Zr311",
122
"name": "no person",
123
"app_id": null,
124
"value": 0.95864904
125
},
126
{
127
"id": "ai_6lhccv44",
128
"name": "business",
129
"app_id": null,
130
"value": 0.95720303
131
},
132
{
133
"id": "ai_971KsJkn",
134
"name": "track",
135
"app_id": null,
136
"value": 0.9494642
137
},
138
{
139
"id": "ai_WBQfVV0p",
140
"name": "city",
141
"app_id": null,
142
"value": 0.94089437
143
},
144
{
145
"id": "ai_dSCKh8xv",
146
"name": "fast",
147
"app_id": null,
148
"value": 0.9399334
149
},
150
{
151
"id": "ai_TZ3C79C6",
152
"name": "road",
153
"app_id": null,
154
"value": 0.93121606
155
},
156
{
157
"id": "ai_VSVscs9k",
158
"name": "terminal",
159
"app_id": null,
160
"value": 0.9230834
161
}
162
]
163
}
164
}
165
]
166
}
Copied!

Via bytes

Below is an example of how you would send the bytes of an image and receive back predictions from the general model.
Python
PHP
Java
NodeJS
cURL
Javascript (REST)
1
# Insert here the initialization code as outlined on this page:
2
# https://docs.clarifai.com/api-guide/api-overview/api-clients#client-installation-instructions
3
4
with open("{YOUR_IMAGE_FILE_LOCATION}", "rb") as f:
5
file_bytes = f.read()
6
7
post_model_outputs_response = stub.PostModelOutputs(
8
service_pb2.PostModelOutputsRequest(
9
user_app_id=userDataObject, # The userDataObject is created in the overview and is required when using a PAT
10
model_id="{THE_MODEL_ID}",
11
version_id="{THE_MODEL_VERSION_ID}", # This is optional. Defaults to the latest model version.
12
inputs=[
13
resources_pb2.Input(
14
data=resources_pb2.Data(
15
image=resources_pb2.Image(
16
base64=file_bytes
17
)
18
)
19
)
20
]
21
),
22
metadata=metadata
23
)
24
25
if post_model_outputs_response.status.code != status_code_pb2.SUCCESS:
26
print("There was an error with your request!")
27
print("\tCode: {}".format(post_model_outputs_response.outputs[0].status.code))
28
print("\tDescription: {}".format(post_model_outputs_response.outputs[0].status.description))
29
print("\tDetails: {}".format(post_model_outputs_response.outputs[0].status.details))
30
raise Exception("Post model outputs failed, status: " + post_model_outputs_response.status.description)
31
32
# Since we have one input, one output will exist here.
33
output = post_model_outputs_response.outputs[0]
34
35
print("Predicted concepts:")
36
for concept in output.data.concepts:
37
print("%s %.2f" % (concept.name, concept.value))
Copied!
1
<?php
2
# Insert here the initialization code as outlined on this page:
3
# https://docs.clarifai.com/api-guide/api-overview/api-clients#client-installation-instructions
4
5
//
6
// For this example, the bytes of an image are needed and can be read in
7
// using PHP provided functions.
8
//
9
$image = "https://samples.clarifai.com/dog2.jpeg";
10
$imageData = file_get_contents($image); // Get the image data from the URL
11
12
///////////////////////////////////////////////////////////////////////////////
13
// Specifying the Request Data
14
///////////////////////////////////////////////////////////////////////////////
15
//
16
// In the Clarifai platform an image is defined by a special Image object.
17
// There are several ways in which an Image object can be populated including
18
// by url and image bytes (base64).
19
//
20
$image = new Image([
21
'base64' => $imageData
22
]);
23
24
//
25
// After an Image object is created, a Data object is constructed around it.
26
// The Data object offers a container that contains additional image independent
27
// metadata. In this particular use case, no other metadata is needed to be
28
// specified.
29
//
30
$data = new Data([
31
'image' => $image
32
]);
33
34
//
35
// The Data object is then wrapped in an Input object in order to meet the
36
// API specification. Additional fields are available to populate in the Input
37
// object, but for the purposes of this example we can send in just the
38
// Data object.
39
//
40
$input = new Input([
41
'data' => $data
42
]);
43
44
///////////////////////////////////////////////////////////////////////////////
45
// Creating the request object
46
///////////////////////////////////////////////////////////////////////////////
47
//
48
// Finally, the request object itself is created. This object carries the request
49
// along with the request status and other metadata related to the request itself.
50
// In this example we populate:
51
// - the `user_app_id` field with the UserAppIDSet constructed above
52
// - the `model_id` field with the ID of the model we are referencing
53
// - the `inputs` field with an array of input objects constructed above
54
//
55
$request = new PostModelOutputsRequest([
56
'user_app_id' => $userDataObject, // This is defined above
57
'model_id' => 'aaa03c23b3724a16a56b629203edc62c', // This is the ID of the publicly available General model.
58
'inputs' => [$input]
59
]);
60
61
///////////////////////////////////////////////////////////////////////////////
62
// Making the RPC call
63
///////////////////////////////////////////////////////////////////////////////
64
//
65
// Once the request object is constructed, we can call the actual request to the
66
// Clarifai platform. This uses the opened gRPC client channel to communicate the
67
// request and then wait for the response.
68
//
69
[$response, $status] = $client->PostModelOutputs(
70
$request,
71
$metadata
72
)->wait();
73
74
///////////////////////////////////////////////////////////////////////////////
75
// Handling the Response
76
///////////////////////////////////////////////////////////////////////////////
77
//
78
// The response is returned and the first thing we do is check the status of it.
79
// A successful response will have a status code of 0, otherwise there is some
80
// reported error.
81
//
82
if ($status->code !== 0) throw new Exception("Error: {$status->details}");
83
84
//
85
// In addition to the RPC response status, there is a Clarifai API status that
86
// reports if the operationo was a success or failure (not just that the commuunication)
87
// was successful.
88
//
89
if ($response->getStatus()->getCode() != StatusCode::SUCCESS) {
90
throw new Exception("Failure response: " . $response->getStatus()->getDescription() . " " .
91
$response->getStatus()->getDetails());
92
}
93
94
//
95
// The output of a successful call can be used in many ways. In this example,
96
// we loop through all of the predicted concepts and print them out along with
97
// their numerical prediction value (confidence).
98
//
99
echo "Predicted concepts:\n";
100
foreach ($response->getOutputs()[0]->getData()->getConcepts() as $concept) {
101
echo $concept->getName() . ": " . number_format($concept->getValue(), 2) . "\n";
102
}
103
?>
Copied!
1
import com.clarifai.grpc.api.*;
2
import com.clarifai.grpc.api.status.*;
3
import com.google.protobuf.ByteString;
4
import java.io.File;
5
import java.nio.file.Files;
6
7
// Insert here the initialization code as outlined on this page:
8
// https://docs.clarifai.com/api-guide/api-overview/api-clients#client-installation-instructions
9
10
MultiOutputResponse postModelOutputsResponse = stub.postModelOutputs(
11
PostModelOutputsRequest.newBuilder()
12
.setModelId("{THE_MODEL_ID}")
13
.setVersionId("{THE_MODEL_VERSION_ID") // This is optional. Defaults to the latest model version.
14
.addInputs(
15
Input.newBuilder().setData(
16
Data.newBuilder().setImage(
17
Image.newBuilder()
18
.setBase64(ByteString.copyFrom(Files.readAllBytes(
19
new File("{YOUR_IMAGE_FILE_LOCATION}").toPath()
20
)))
21
)
22
)
23
)
24
.build()
25
);
26
27
if (postModelOutputsResponse.getStatus().getCode() != StatusCode.SUCCESS) {
28
throw new RuntimeException("Post model outputs failed, status: " + postModelOutputsResponse.getStatus());
29
}
30
31
// Since we have one input, one output will exist here.
32
Output output = postModelOutputsResponse.getOutputs(0);
33
34
System.out.println("Predicted concepts:");
35
for (Concept concept : output.getData().getConceptsList()) {
36
System.out.printf("%s %.2f%n", concept.getName(), concept.getValue());
37
}
Copied!
1
// Insert here the initialization code as outlined on this page:
2
// https://docs.clarifai.com/api-guide/api-overview/api-clients#client-installation-instructions
3
4
const fs = require("fs");
5
const imageBytes = fs.readFileSync("{YOUR_IMAGE_FILE_LOCATION}");
6
7
stub.PostModelOutputs(
8
{
9
model_id: "{THE_MODEL_ID}",
10
version_id: "{THE_MODEL_VERSION_ID}", // This is optional. Defaults to the latest model version.
11
inputs: [
12
{data: {image: {base64: imageBytes}}}
13
]
14
},
15
metadata,
16
(err, response) => {
17
if (err) {
18
throw new Error(err);
19
}
20
21
if (response.status.code !== 10000) {
22
throw new Error("Post model outputs failed, status: " + response.status.description);
23
}
24
25
// Since we have one input, one output will exist here.
26
const output = response.outputs[0];
27
28
console.log("Predicted concepts:");
29
for (const concept of output.data.concepts) {
30
console.log(concept.name + " " + concept.value);
31
}
32
}
33
);
Copied!
1
// Smaller files (195 KB or less)
2
3
curl -X POST \
4
-H "Authorization: Key YOUR_API_KEY" \
5
-H "Content-Type: application/json" \
6
-d '
7
{
8
"inputs": [
9
{
10
"data": {
11
"image": {
12
"base64": "'"$(base64 /home/user/image.jpeg)"'"
13
}
14
}
15
}
16
]
17
}'\
18
https://api.clarifai.com/v2/models/{THE_MODEL_ID}/outputs
19
20
// Larger Files (Greater than 195 KB)
21
22
curl -X POST \
23
-H "Authorization: Key YOUR_API_KEY" \
24
-H "Content-Type: application/json" \
25
-d @- https://api.clarifai.com/v2/models/{model-id}/outputs << FILEIN
26
{
27
"inputs": [
28
{
29
"data": {
30
"image": {
31
"base64": "$(base64 /home/user/image.png)"
32
}
33
}
34
}
35
]
36
}
37
FILEIN
Copied!
1
const raw = JSON.stringify({
2
"user_app_id": {
3
"user_id": "{YOUR_USER_ID}",
4
"app_id": "{YOUR_APP_ID}"
5
},
6
"inputs": [
7
{
8
"data": {
9
"image": {
10
"base64": "{BYTES_STRING}"
11
}
12
}
13
}
14
]
15
});
16
17
const requestOptions = {
18
method: 'POST',
19
headers: {
20
'Accept': 'application/json',
21
'Authorization': 'Key {YOUR_PERSONAL_TOKEN}'
22
},
23
body: raw
24
};
25
26
// NOTE: MODEL_VERSION_ID is optional, you can also call prediction with the MODEL_ID only
27
// https://api.clarifai.com/v2/models/{YOUR_MODEL_ID}/outputs
28
// this will default to the latest version_id
29
30
fetch("https://api.clarifai.com/v2/models/{YOUR_MODEL_ID}/versions/{MODEL_VERSION_ID}/outputs", requestOptions)
31
.then(response => response.text())
32
.then(result => console.log(result))
33
.catch(error => console.log('error', error));
Copied!
Response JSON
1
{
2
"status": {
3
"code": 10000,
4
"description": "Ok"
5
},
6
"outputs": [
7
{
8
"id": "e1cf385843b94c6791bbd9f2654db5c0",
9
"status": {
10
"code": 10000,
11
"description": "Ok"
12
},
13
"created_at": "2016-11-22T16:59:23Z",
14
"model": {
15
"name": "general-v1.3",
16
"id": "aaa03c23b3724a16a56b629203edc62c",
17
"created_at": "2016-03-09T17:11:39Z",
18
"app_id": null,
19
"output_info": {
20
"message": "Show output_info with: GET /models/{model_id}/output_info",
21
"type": "concept"
22
},
23
"model_version": {
24
"id": "aa9ca48295b37401f8af92ad1af0d91d",
25
"created_at": "2016-07-13T01:19:12Z",
26
"status": {
27
"code": 21100,
28
"description": "Model trained successfully"
29
}
30
}
31
},
32
"input": {
33
"id": "e1cf385843b94c6791bbd9f2654db5c0",
34
"data": {
35
"image": {
36
"url": "https://s3.amazonaws.com/clarifai-api/img/prod/b749af061d564b829fb816215f6dc832/e11c81745d6d42a78ef712236023df1c.jpeg"
37
}
38
}
39
},
40
"data": {
41
"concepts": [
42
{
43
"id": "ai_l4WckcJN",
44
"name": "blur",
45
"app_id": null,
46
"value": 0.9973569
47
},
48
{
49
"id": "ai_786Zr311",
50
"name": "no person",
51
"app_id": null,
52
"value": 0.98865616
53
},
54
{
55
"id": "ai_JBPqff8z",
56
"name": "art",
57
"app_id": null,
58
"value": 0.986006
59
},
60
{
61
"id": "ai_5rD7vW4j",
62
"name": "wallpaper",
63
"app_id": null,
64
"value": 0.9722556
65
},
66
{
67
"id": "ai_sTjX6dqC",
68
"name": "abstract",
69
"app_id": null,
70
"value": 0.96476805
71
},
72
{
73
"id": "ai_Dm5GLXnB",
74
"name": "illustration",
75
"app_id": null,
76
"value": 0.922542
77
},
78
{
79
"id": "ai_5xjvC0Tj",
80
"name": "background",
81
"app_id": null,
82
"value": 0.8775655
83
},
84
{
85
"id": "ai_tBcWlsCp",
86
"name": "nature",
87
"app_id": null,
88
"value": 0.87474406
89
},
90
{
91
"id": "ai_rJGvwlP0",
92
"name": "insubstantial",
93
"app_id": null,
94
"value": 0.8196385
95
},
96
{
97
"id": "ai_2Bh4VMrb",
98
"name": "artistic",
99
"app_id": null,
100
"value": 0.8142488
101
},
102
{
103
"id": "ai_mKzmkKDG",
104
"name": "Christmas",
105
"app_id": null,
106
"value": 0.7996079
107
},
108
{
109
"id": "ai_RQccV41p",
110
"name": "woman",
111
"app_id": null,
112
"value": 0.7955615
113
},
114
{
115
"id": "ai_20SCBBZ0",
116
"name": "vector",
117
"app_id": null,
118
"value": 0.7775099
119
},
120
{
121
"id": "ai_4sJLn6nX",
122
"name": "dark",
123
"app_id": null,
124
"value": 0.7715479
125
},
126
{
127
"id": "ai_5Kp5FMJw",
128
"name": "still life",
129
"app_id": null,
130
"value": 0.7657637
131
},
132
{
133
"id": "ai_LM64MDHs",
134
"name": "shining",
135
"app_id": null,
136
"value": 0.7542407
137
},
138
{
139
"id": "ai_swtdphX8",
140
"name": "love",
141
"app_id": null,
142
"value": 0.74926054
143
},
144
{
145
"id": "ai_h45ZTxZl",
146
"name": "square",
147
"app_id": null,
148
"value": 0.7449074
149
},
150
{
151
"id": "ai_cMfj16kJ",
152
"name": "design",
153
"app_id": null,
154
"value": 0.73926914
155
},
156
{
157
"id": "ai_LxrzLJmf",
158
"name": "bright",
159
"app_id": null,
160
"value": 0.73790145
161
}
162
]
163
}
164
}
165
]
166
}
Copied!
Last modified 52m ago
Copy link
Edit on GitHub