Etiqueta¶
PhotoTag é outro servizo de PhotoILike que permite etiquetar as imaxes en función da estancia que representan. Actualmente, PhotoTag pode clasificar as imaxes entre 23 etiquetas diferentes.
As estancias que detecta son as seguintes
Listado de etiquetas
Etiqueta | Exemplo |
---|---|
bathroom Baño ou aseo |
![]() |
bedroom Dormitorio |
![]() |
cert Documento de certificación enerxética |
![]() |
commonzones Zonas de paso: recibidor, portal, corredor, escaleiras, etc. |
![]() |
construction Estancia ou vivenda en construción ou con elementos de construción |
![]() |
details Primeiro plano de obxectos |
![]() |
emptyroom Habitación baleira |
![]() |
facade Fachada |
![]() |
kitchen Cociña |
![]() |
leisure Zonas de ocio: ximnasio, parque infantil, etc. |
![]() |
livingroom Sala de estar ou salón |
![]() |
map Imaxe dun mapa |
![]() |
office Oficina, despacho ou estudo |
![]() |
outdoors Exteriores, xardín, etc. |
![]() |
parking Aparcamento |
![]() |
plan Plano da vivenda |
![]() |
pool Piscina |
![]() |
storage Despensa, rocho ou zona de almacenamento |
![]() |
terrace Terraza |
![]() |
business Negocios: cafetería, restaurante, perruquería, supermercado, etc. |
![]() |
corridor Corredor |
![]() |
seaviews Vistas ao mar |
![]() |
unknown Esta etiqueta emprégase cando a imaxe non corresponde con ningunha das outras etiquetas da lista |
![]() |
Petición
POST https://api.photoilike.com/v2.0/label
Cabeceiras
Campos
Clave | Valor |
---|---|
Authorization | string Requirido Token de sesión precedido pola palabra Bearer . |
Corpo da solicitude
O corpo da solicitude contén datos coa seguinte estrutura:
Representación JSON
Campos
Parámetro | Información |
---|---|
client-key | string Requirido Client-key do usuario final que solicita a puntuación da imaxe. |
image-url | string Requirido1 URL que identifica desde onde se pode obter a imaxe para procesar. A imaxe ha de poder obterse mediante unha petición GET á URL indicada. |
image-base64 | string Requirido1 Codificación en base64 da imaxe que se desexa procesar. |
ext | string Requirido2 Extensión do arquivo para usar. Os valores permitidos son: png , jpg , jpeg , webp , heic , avif . |
Warning
1 Cada petición só procesa unha imaxe, o que implica que os campos image-url
e image-base64
son disxuntos, é dicir, hase de usar un ou o outro, pero nunca os dous á vez.
2 Se se usa image-base64
hase de pasar o parámetro ext
.
Resposta da solicitude
En caso de éxito, o código de estado HTTP no encabezado da resposta é 200 OK e o corpo da resposta contén a predición do tipo de estancia á que pertence a imaxe. A predición é un array de elementos, onde cada elemento indica a etiqueta predita e a precisión da clasificación (valor entre 0 e 1).
Representación JSON
Campos
Parámetro | Información |
---|---|
id | string Identificador do traballo que procesou a petición para obter a etiqueta da imaxe. |
predictions | List Array de pares label-confidence. |
predictions[item].label | string Indica a etiqueta que a predición obtén para a imaxe dada. |
predictions[item].confidence | float Precisión da etiqueta que clasificou o servizo (valor entre 0 e 1). |
Exemplo de petición
import requests
header = {
# Add your token session (1)
'Authorization': 'Bearer YOUR.SESSION.TOKEN'
}
payload = {
# Add an active client key (2)
'client-key': 'ACTIVE_CLIENT_KEY',
# Add the image url you want to label (3)
'image-url': 'https://example.org/photo.jpg'
}
endpoint = 'https://api.photoilike.com/v2.0/label'
# Make the request
r = requests.post(endpoint, headers=header, json=payload)
# Response in json format
response = r.json()
- Asegúrese de substituír
YOUR.SESSION.TOKEN
por un token de sesión válido - Asegúrese de substituír
ACTIVE_CLIENT_KEY
por un client-key válido - Estableza en image-url a URL da imaxe que desexe etiquetar
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import org.json.JSONObject;
public class Label {
public static void main(String[] args) throws Exception {
// add your session token (1)
String bearerToken = String.format("Bearer %s", "YOUR.SESSION.TOKEN");
JSONObject payload = new JSONObject();
// add an active client key (2)
payload.put("client-key", "ACTIVE_CLIENT_KEY");
// add the image url you want to label (3)
payload.put("image-url", "https://example.org/photo.jpg");
String endpoint = "https://api.devel.photoilike.com/v2.0/label";
// build the request
HttpURLConnection connection = (HttpURLConnection) new URL(endpoint).openConnection();
connection.setRequestMethod("POST");
connection.setRequestProperty("Authorization", bearerToken);
connection.setRequestProperty("Content-Type", "application/json");
connection.setDoOutput(true);
OutputStream os = connection.getOutputStream();
byte[] input = payload.toString().getBytes(StandardCharsets.UTF_8);
os.write(input, 0, input.length);
// make the request
BufferedReader br = new BufferedReader(
new InputStreamReader(connection.getInputStream(), StandardCharsets.UTF_8)
);
StringBuilder response = new StringBuilder();
for (String responseLine = null; (responseLine = br.readLine()) != null; response.append(responseLine.trim()))
;
// Response in json format
JSONObject json = new JSONObject(response.toString());
}
}
- Asegúrese de substituír
YOUR.SESSION.TOKEN
por un token de sesión válido - Asegúrese de substituír
ACTIVE_CLIENT_KEY
por un client-key válido - Estableza en image-url a URL da imaxe que desexe etiquetar
<?php
// Add your token session (1)
$headers = array(
'Content-Type:application/json',
'Authorization: Bearer YOUR.SESSION.TOKEN'
);
// Add an active client key (2)
// Add the image url you want to label (3)
$payload = json_encode(array(
'client-key' => 'ACTIVE_CLIENT_KEY',
'image-url' => 'https://example.org/photo.jpg'
));
$endpoint = "https://api.photoilike.com/v2.0/label";
$ch = curl_init($endpoint);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Make the request
$result = curl_exec($ch);
curl_close($ch);
// Response in json format
$response = json_decode($result);
?>
- Asegúrese de substituír
YOUR.SESSION.TOKEN
por un token de sesión válido - Asegúrese de substituír
ACTIVE_CLIENT_KEY
por un client-key válido - Estableza en image-url a URL da imaxe que desexe etiquetar