Ir ao contido

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
Bathroom
bedroom
Dormitorio
Bedroom
cert
Documento de certificación enerxética
Cert
commonzones
Zonas de paso:
recibidor, portal,
corredor, escaleiras, etc.
CommonZones
construction
Estancia ou vivenda en construción
ou con elementos de construción
Construction
details
Primeiro plano de obxectos
Detail
emptyroom
Habitación baleira
Empty room
facade
Fachada
Facade
kitchen
Cociña
Kitchen
leisure
Zonas de ocio:
ximnasio, parque
infantil, etc.
Leisure
livingroom
Sala de estar ou salón
Living room
map
Imaxe dun mapa
Map
office
Oficina, despacho
ou estudo
Office
outdoors
Exteriores, xardín, etc.
Outdoors
parking
Aparcamento
Parking
plan
Plano da vivenda
Plan
pool
Piscina
Pool
storage
Despensa, rocho ou
zona de almacenamento
Storage
terrace
Terraza
Terrace
business
Negocios: cafetería,
restaurante,
perruquería,
supermercado, etc.
Business
corridor
Corredor
Corridor
seaviews
Vistas ao mar
SeaViews
unknown
Esta etiqueta emprégase cando
a imaxe non corresponde con
ningunha das outras etiquetas
da lista
Cat

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

{
    "client-key": string,
    "image-url": string,
    "image-base64": string,
    "ext": string
}

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

{
    "id": string,
    "predictions": [
        {
            "label": string,
            "confidence": float
        },
        ...
    ] 
}

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

curl --request POST \
--header "Content-Type: application/json" \
--header "Authorization: Bearer {YOUR.SESSION.TOKEN}" \
--data '{"client-key": "{ACTIVE_CLIENT_KEY}", "image-url": "{https://example.org/photo.jpg}"}' \
https://api.photoilike.com/v2.0/label 
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()
  1. Asegúrese de substituír YOUR.SESSION.TOKEN por un token de sesión válido
  2. Asegúrese de substituír ACTIVE_CLIENT_KEY por un client-key válido
  3. 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());
    }

}
  1. Asegúrese de substituír YOUR.SESSION.TOKEN por un token de sesión válido
  2. Asegúrese de substituír ACTIVE_CLIENT_KEY por un client-key válido
  3. 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);
 ?>
  1. Asegúrese de substituír YOUR.SESSION.TOKEN por un token de sesión válido
  2. Asegúrese de substituír ACTIVE_CLIENT_KEY por un client-key válido
  3. Estableza en image-url a URL da imaxe que desexe etiquetar