Depois de criar o conjunto de produtos e indexá-lo, será possível consultar o conjunto de produtos usando a API Cloud Vision.
Pesquisa de produtos correspondentes
É possível encontrar produtos semelhantes para uma determinada imagem. Passe o URI do Google Cloud Storage da imagem, o URL da Web ou a string codificada em base64 para a Pesquisa de Produtos da API Vision. Para mais informações sobre a cota e o tamanho máximo da solicitação, consulte os Limites de uso.
Confira o exemplo de detecção de produtos individuais ou de vários produtos em uma imagem no tópico Noções básicas sobre respostas de pesquisa e detecção múltipla.
Pesquisar usando uma imagem local
Os exemplos a seguir leem um arquivo local e consultam a API fazendo a inserção dos bytes da imagem bruta (imagem codificada base64) na solicitação.
REST
Antes de usar os dados da solicitação, faça as seguintes substituições:
- BASE64_ENCODED_IMAGE: a representação Base64 (string ASCII) dos dados da imagem binária. A string precisa ser semelhante à seguinte:
/9j/4QAYRXhpZgAA...9tAVx/zDQDlGxn//2Q==
- PROJECT_ID: o ID do projeto do Google Cloud .
- LOCATION_ID: um identificador de local válido. Os identificadores de local válidos são:
us-west1
,us-east1
,europe-west1
easia-east1
. - PRODUCT_SET_ID: o ID do conjunto de produtos no qual você quer executar a operação.
Considerações específicas de campo:
features.maxResults
: o número máximo de resultados a serem retornados.imageContext.productCategories
: a categoria de produto para a pesquisa. No momento, só é possível especificar uma categoria de produtos (homegoods, apparel, toys, packaged goods e general).imageContext.filter
: (opcional) uma ou várias expressões de filtragem de chave-valor de rótulos de produto. Formato: "key
=value
". É possível elencar a filtragem de pares de chave-valor às expressões AND ou OR: "color
=blue
ANDstyle
=mens
" ou "color
=blue
ORcolor
=black
". Ao usar a expressão OR, todas as chaves nela precisam ser iguais.
Método HTTP e URL:
POST https://vision.googleapis.com/v1/images:annotate
Corpo JSON da solicitação:
{ "requests": [ { "image": { "content": base64-encoded-image }, "features": [ { "type": "PRODUCT_SEARCH", "maxResults": 5 } ], "imageContext": { "productSearchParams": { "productSet": "projects/project-id/locations/location-id/productSets/product-set-id", "productCategories": [ "apparel" ], "filter": "style = womens" } } } ] }
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vision.googleapis.com/v1/images:annotate"
PowerShell
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://vision.googleapis.com/v1/images:annotate" | Select-Object -Expand Content
Quando a solicitação é bem-sucedida, o servidor retorna um código de status HTTP 200 OK
e a resposta no formato JSON.
A resposta JSON inclui os dois tipos de resultados a seguir:
productSearchResults
: contém uma lista de produtos correspondentes para a imagem inteira. Na resposta de amostra, os produtos correspondentes são: product_id65, product_id35, product_id34, product_id62 e product_id32.productGroupedResults
: contém as coordenadas da caixa delimitadora e os itens correspondentes de cada produto identificado na imagem. Na resposta a seguir, há apenas um produto identificado, seguido pelos produtos correspondentes no conjunto de amostra: product_id65, product_id35, product_id34, product_id93 e product_id62.
Há uma sobreposição nos dois tipos de resultados, mas também pode haver diferenças. Por exemplo, product_id32 e product_id93 na resposta.
Go
Para saber como instalar e usar a biblioteca de cliente da Pesquisa de Produtos da API Vision, consulte este link. Confira mais detalhes na documentação de referência da API Go da Pesquisa de Produtos da API Vision.
Para se autenticar na Pesquisa de Produtos da API Vision, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca de cliente da Pesquisa de Produtos da API Vision, consulte este link. Confira mais detalhes na documentação de referência da API Java da Pesquisa de Produtos da API Vision.
Para se autenticar na Pesquisa de Produtos da API Vision, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca de cliente da Pesquisa de Produtos da API Vision, consulte este link. Confira mais detalhes na documentação de referência da API Node.js da Pesquisa de Produtos da API Vision.
Para se autenticar na Pesquisa de Produtos da API Vision, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca de cliente da Pesquisa de Produtos da API Vision, consulte este link. Confira mais detalhes na documentação de referência da API Python da Pesquisa de Produtos da API Vision.
Para se autenticar na Pesquisa de Produtos da API Vision, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Outras linguagens
C#: siga as instruções de configuração do C# na página das bibliotecas de cliente e acesse a documentação de referência da Pesquisa de Produtos da API Vision para .NET.
PHP: siga as instruções de configuração do PHP na página das bibliotecas de cliente e acesse a documentação de referência da Pesquisa de Produtos da API Vision para PHP.
Ruby: siga as Instruções de configuração do Ruby na página das bibliotecas de cliente e acesse a documentação de referência da Pesquisa de Produtos da API Vision para Ruby.
Pesquisar usando uma imagem remota
Também é possível especificar o URI de uma imagem no Cloud Storage para pesquisar produtos similares àqueles da imagem.
REST
Antes de usar os dados da solicitação, faça as seguintes substituições:
- CLOUD_STORAGE_IMAGE_URI: o caminho para um arquivo de imagem válido em um bucket do Cloud Storage. Você precisa ter, pelo menos, privilégios de leitura para o arquivo.
Exemplo:
gs://storage-bucket/filename.jpg
- PROJECT_ID: o ID do projeto do Google Cloud .
- LOCATION_ID: um identificador de local válido. Os identificadores de local válidos são:
us-west1
,us-east1
,europe-west1
easia-east1
. - PRODUCT_SET_ID: o ID do conjunto de produtos no qual você quer executar a operação.
Considerações específicas de campo:
features.maxResults
: o número máximo de resultados a serem retornados.imageContext.productCategories
: a categoria de produto para a pesquisa. No momento, só é possível especificar uma categoria de produtos (homegoods, apparel, toys, packaged goods e general).imageContext.filter
: (opcional) uma ou várias expressões de filtragem de chave-valor de rótulos de produto. Formato: "key
=value
". É possível elencar a filtragem de pares de chave-valor às expressões AND ou OR: "color
=blue
ANDstyle
=mens
" ou "color
=blue
ORcolor
=black
". Ao usar a expressão OR, todas as chaves nela precisam ser iguais.
Método HTTP e URL:
POST https://vision.googleapis.com/v1/images:annotate
Corpo JSON da solicitação:
{ "requests": [ { "image": { "source": { "gcsImageUri": "cloud-storage-image-uri" } }, "features": [ { "type": "PRODUCT_SEARCH", "maxResults": 5 } ], "imageContext": { "productSearchParams": { "productSet": "projects/project-id/locations/location-id/productSets/product-set-id", "productCategories": [ "apparel" ], "filter": "style = womens" } } } ] }
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-id" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://vision.googleapis.com/v1/images:annotate"
PowerShell
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-id" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://vision.googleapis.com/v1/images:annotate" | Select-Object -Expand Content
Quando a solicitação é bem-sucedida, o servidor retorna um código de status HTTP 200 OK
e a resposta no formato JSON.
A resposta JSON inclui os dois tipos de resultados a seguir:
productSearchResults
: contém uma lista de produtos correspondentes para a imagem inteira. Na resposta de amostra, os produtos correspondentes são: product_id65, product_id35, product_id34, product_id62 e product_id32.productGroupedResults
: contém as coordenadas da caixa delimitadora e os itens correspondentes de cada produto identificado na imagem. Na resposta a seguir, há apenas um produto identificado, seguido pelos produtos correspondentes no conjunto de amostra: product_id65, product_id35, product_id34, product_id93 e product_id62.
Há uma sobreposição nos dois tipos de resultados, mas também pode haver diferenças. Por exemplo, product_id32 e product_id93 na resposta.
Go
Para saber como instalar e usar a biblioteca de cliente da Pesquisa de Produtos da API Vision, consulte este link. Confira mais detalhes na documentação de referência da API Go da Pesquisa de Produtos da API Vision.
Para se autenticar na Pesquisa de Produtos da API Vision, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Para saber como instalar e usar a biblioteca de cliente da Pesquisa de Produtos da API Vision, consulte este link. Confira mais detalhes na documentação de referência da API Java da Pesquisa de Produtos da API Vision.
Para se autenticar na Pesquisa de Produtos da API Vision, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para saber como instalar e usar a biblioteca de cliente da Pesquisa de Produtos da API Vision, consulte este link. Confira mais detalhes na documentação de referência da API Node.js da Pesquisa de Produtos da API Vision.
Para se autenticar na Pesquisa de Produtos da API Vision, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para saber como instalar e usar a biblioteca de cliente da Pesquisa de Produtos da API Vision, consulte este link. Confira mais detalhes na documentação de referência da API Python da Pesquisa de Produtos da API Vision.
Para se autenticar na Pesquisa de Produtos da API Vision, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Outras linguagens
C#: siga as instruções de configuração do C# na página das bibliotecas de cliente e acesse a documentação de referência da Pesquisa de Produtos da API Vision para .NET.
PHP: siga as instruções de configuração do PHP na página das bibliotecas de cliente e acesse a documentação de referência da Pesquisa de Produtos da API Vision para PHP.
Ruby: siga as Instruções de configuração do Ruby na página das bibliotecas de cliente e acesse a documentação de referência da Pesquisa de Produtos da API Vision para Ruby.