Gambar referensi adalah gambar yang berisi berbagai tampilan produk Anda. Rekomendasi berikut berlaku:
- Pastikan ukuran file tidak melebihi ukuran maksimum (20 MB).
- Pertimbangkan sudut pandang yang secara logis menyoroti produk dan berisi informasi visual yang relevan.
- Buat gambar referensi yang melengkapi sudut pandang yang hilang. Misalnya, jika Anda hanya memiliki gambar sepatu kanan dalam sepasang, berikan versi pencerminan dari file tersebut sebagai sepatu kiri.
- Upload gambar beresolusi tertinggi yang tersedia.
- Tampilkan produk dengan latar belakang putih.
- Konversi PNG dengan latar belakang transparan ke latar belakang solid.
Gambar harus disimpan di bucket Cloud Storage. Jika Anda mengautentikasi panggilan pembuatan image dengan kunci API, bucket harus bersifat publik. Jika Anda mengautentikasi dengan akun layanan, akun layanan tersebut harus memiliki akses baca pada bucket.
Membuat gambar referensi tunggal
Anda dapat menambahkan gambar referensi ke produk yang sudah ada. Hal ini kemudian memungkinkan Anda mencari produk berdasarkan gambar.
REST
Sebelum menggunakan data permintaan apa pun, lakukan penggantian sebagai berikut:
- PROJECT_ID: ID project Google Cloud Anda.
- LOCATION_ID: ID lokasi yang valid. ID lokasi yang valid adalah:
us-west1
,us-east1
,europe-west1
, danasia-east1
. - PRODUCT_ID: ID untuk produk yang terkait dengan gambar referensi. ID ini ditetapkan secara acak atau ditentukan oleh pengguna pada waktu pembuatan produk.
- CLOUD_STORAGE_IMAGE_URI: jalur ke file image yang valid
di bucket Cloud Storage. Anda setidaknya harus memiliki hak istimewa baca ke file tersebut.
Contoh:
gs://storage-bucket/filename.jpg
Metode HTTP dan URL:
POST https://vision.googleapis.com/v1/projects/project-id/locations/location-id/products/product-id/referenceImages
Isi JSON permintaan:
{ "uri": "cloud-storage-image-uri", "boundingPolys": [ { "vertices": [ { "x": X_MIN, "y": Y_MIN }, { "x": X_MAX, "y": Y_MIN }, { "x": X_MAX, "y": Y_MAX }, { "x": X_MIN, "y": Y_MAX } ] } ] }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
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/projects/project-id/locations/location-id/products/product-id/referenceImages"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$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/projects/project-id/locations/location-id/products/product-id/referenceImages" | Select-Object -Expand Content
Jika permintaan berhasil, server akan menampilkan kode status HTTP 200 OK
dan
respons dalam format JSON.
Anda akan melihat output yang mirip dengan berikut ini: Contoh permintaan menentukan satu
boundingPoly
dalam gambar. Verteks untuk kotak pembatas tidak
dinormalisasi; nilai verteks adalah nilai piksel sebenarnya, dan tidak relatif terhadap
gambar asli serta diskalakan dari 0 hingga 1. Verteks ini memiliki nilai
berikut: [(33,22),(282,22),(282,278),(33,278)].
{ "name": "projects/project-id/locations/location-id/products/product-id/referenceImages/image-id", "uri": "gs://storage-bucket/filename.jpg", "boundingPolys": [ { "vertices": [ { "x": 33, "y": 22 }, { "x": 282, "y": 22 }, { "x": 282, "y": 278 }, { "x": 33, "y": 278 } ] } ] }
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Vision API Product Search, lihat library klien Vision API Product Search. Untuk informasi selengkapnya, lihat dokumentasi referensi API Go Product Search Vision API.
Untuk mengautentikasi ke Product Search Vision API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Vision API Product Search, lihat library klien Vision API Product Search. Untuk informasi selengkapnya, lihat dokumentasi referensi API Java Product Search Vision API.
Untuk mengautentikasi ke Product Search Vision API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Vision API Product Search, lihat library klien Vision API Product Search. Untuk informasi selengkapnya, lihat dokumentasi referensi API Node.js Product Search Vision API.
Untuk mengautentikasi ke Product Search Vision API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Vision API Product Search, lihat library klien Vision API Product Search. Untuk informasi selengkapnya, lihat dokumentasi referensi API Python Product Search Vision API.
Untuk mengautentikasi ke Product Search Vision API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Bahasa tambahan
C#: Ikuti Petunjuk penyiapan C# di halaman library klien, lalu kunjungi Dokumentasi referensi Product Search Vision API untuk .NET.
PHP: Ikuti Petunjuk penyiapan PHP di halaman library klien, lalu kunjungi Dokumentasi referensi Product Search Vision API untuk PHP.
Ruby: Ikuti Petunjuk penyiapan Ruby di halaman library klien, lalu kunjungi Dokumentasi referensi Product Search Vision API untuk Ruby.
Membuat beberapa gambar referensi dengan impor massal
Anda juga dapat membuat gambar referensi sekaligus membuat set produk dan beberapa produk.
Membuat gambar referensi secara massal dengan meneruskannya lokasi file CSV
di Cloud Storage ke metode import
. Dengan demikian, file CSV dan gambar yang dituju harus berada di
bucket Cloud Storage.
Jika Anda mengautentikasi panggilan impor massal dengan kunci API, file sumber CSV ini harus bersifat publik.
Jika Anda mengautentikasi dengan akun layanan, akun layanan tersebut harus memiliki akses baca di file sumber CSV.
Format CSV
image-uri,[image-id],product-set-id,product-id,product-category,[product-display-name],[label(s)],[bounding-poly]
Lihat topik petunjuk format CSV untuk informasi lebih detail tentang memformat CSV.
Permintaan pembuatan massal
REST
Sebelum menggunakan data permintaan apa pun, lakukan penggantian sebagai berikut:
- PROJECT_ID: ID project Google Cloud Anda.
- LOCATION_ID: ID lokasi yang valid. ID lokasi yang valid adalah:
us-west1
,us-east1
,europe-west1
, danasia-east1
. - STORAGE_PATH: Bucket/direktori Cloud Storage tempat file CSV input Anda disimpan. Pengguna yang meminta setidaknya harus memiliki izin pembacaan ke bucket.
Metode HTTP dan URL:
POST https://vision.googleapis.com/v1/projects/project-id/locations/location-id/productSets:import
Isi JSON permintaan:
{ "inputConfig": { "gcsSource": { "csvFileUri": "storage-path" } } }
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
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/projects/project-id/locations/location-id/productSets:import"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$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/projects/project-id/locations/location-id/productSets:import" | Select-Object -Expand Content
Anda akan melihat output yang serupa dengan berikut ini: Anda dapat menggunakan ID operasi
(dalam hal ini, f10f34e32c40a710
) untuk mendapatkan status tugas. Sebagai
contohnya, lihat Mendapatkan status operasi:
{ "name": "projects/project-id/locations/location-id/operations/f10f34e32c40a710" }
Setelah operasi yang berjalan lama selesai, Anda bisa mendapatkan detail operasi impor. Responsnya akan terlihat seperti berikut:
{ "name": "locations/location-id/operations/f10f34e32c40a710", "metadata": { "@type": "type.googleapis.com/google.cloud.vision.v1.BatchOperationMetadata", "state": "SUCCESSFUL", "submitTime": "2019-12-06T21:16:04.476466873Z", "endTime": "2019-12-06T21:16:40.594258084Z" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.vision.v1.ImportProductSetsResponse", "referenceImages": [ { "name": "projects/project-id/locations/location-id/products/product_id0/referenceImages/image0", "uri": "gs://my-storage-bucket/img_039.jpg" }, { "name": "projects/project-id/locations/location-id/products/product_id1/referenceImages/image1", "uri": "gs://my-storage-bucket/img_105.jpg" }, { "name": "projects/project-id/locations/location-id/products/product_id2/referenceImages/image2", "uri": "gs://my-storage-bucket/img_224.jpg" }, { "name": "projects/project-id/locations/location-id/products/product_id3/referenceImages/image3", "uri": "gs://my-storage-bucket/img_385.jpg" } ], "statuses": [ {}, {}, {}, {} ] } }
Go
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Vision API Product Search, lihat library klien Vision API Product Search. Untuk informasi selengkapnya, lihat dokumentasi referensi API Go Product Search Vision API.
Untuk mengautentikasi ke Product Search Vision API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Vision API Product Search, lihat library klien Vision API Product Search. Untuk informasi selengkapnya, lihat dokumentasi referensi API Java Product Search Vision API.
Untuk mengautentikasi ke Product Search Vision API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Vision API Product Search, lihat library klien Vision API Product Search. Untuk informasi selengkapnya, lihat dokumentasi referensi API Node.js Product Search Vision API.
Untuk mengautentikasi ke Product Search Vision API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk mempelajari cara menginstal dan menggunakan library klien untuk Vision API Product Search, lihat library klien Vision API Product Search. Untuk informasi selengkapnya, lihat dokumentasi referensi API Python Product Search Vision API.
Untuk mengautentikasi ke Product Search Vision API, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Bahasa tambahan
C#: Ikuti Petunjuk penyiapan C# di halaman library klien, lalu kunjungi Dokumentasi referensi Product Search Vision API untuk .NET.
PHP: Ikuti Petunjuk penyiapan PHP di halaman library klien, lalu kunjungi Dokumentasi referensi Product Search Vision API untuk PHP.
Ruby: Ikuti Petunjuk penyiapan Ruby di halaman library klien, lalu kunjungi Dokumentasi referensi Product Search Vision API untuk Ruby.
Pengindeksan
Indeks Product Search untuk produk diperbarui sekitar 30 menit sekali. Ketika gambar ditambahkan atau dihapus, perubahan tidak akan ditampilkan dalam respons Product Search hingga indeks diperbarui berikutnya.
Untuk memastikan pengindeksan telah berhasil diselesaikan, periksa kolom
indexTime
dari
kumpulan produk.