Cara membuat gambar dari Vertex AI dan Mengupload ke Google Ads

1. Pengantar

Yang akan Anda bangun

Dalam codelab ini, Anda akan mempelajari cara membuat gambar menggunakan Vertex AI dan mengirimkannya ke Google Ads sehingga aset dapat digunakan sebagai aset gambar dalam kampanye.

Yang akan Anda pelajari

  • Cara membuat gambar dari GCP, Vertex AI
  • Cara mengupload gambar ke Google Ads
  • Cara menggunakannya di Google Ads

Yang Anda butuhkan

  • Akun Google Ads
  • Akun GCP

2. Mendapatkan kredensial Google Ads

Bagian ini diperlukan untuk mendapatkan aset gambar dari Google Ads. Untuk mengakses Google Ads dari Colab, Anda memerlukan kredensial yang tepat.

Create credentials -> Create 'OAuth client ID' -> Web Application

Untuk mendapatkan kredensial yang tepat untuk menghubungkan Google Ads, Anda perlu mengakses Kredensial cloud.

Jika Anda belum mengonfigurasi layar izin, siapkan layar izin terlebih dahulu.

  1. Jenis pengguna: Eksternal
  2. Status publikasi: Dalam produksi

6ecf963c5957379d.png

Tambahkan URI berikut ke 'URI pengalihan yang sah'

Masukkan URI di bawah seperti screenshot di bawah.

https://developers.google.com/oauthplayground

b5d054a6cac40869.png

Menyalin Client ID dan rahasia klien

Anda bisa mendapatkan client ID dan rahasia klien.

c8578bf54ade7cee.png

3. Buat Token Refresh

Akses ke OAuth Playground

Anda dapat dengan mudah menerbitkan token refresh sementara di OAuth Playground.

Buka setelan, lalu centang ‘Gunakan kredensial OAuth Anda sendiri'. Setelah mendapatkan client ID dan rahasia klien OAuth dari bab sebelumnya, Anda dapat memasukkannya ke dalam kotak teks yang sesuai. ace79f71603a922.png

ad82eca7a99c446c.png

Tambahkan cakupan

Anda dapat menambahkan cakupan https://www.googleapis.com/auth/adwords ke area di bawah.

eff5408ba160aad1.png

Klik Authorize APIs, dan Anda akan melihat layar berikutnya.

Membuat Token Refresh

Klik 'Exchange authorization code for tokens', dan Anda akan melihat token refresh.

e8c6860d61ad73fd.png

4. Menyiapkan Colab untuk mengeksekusi kode

Colab adalah notebook kode praktis yang dilengkapi dengan Python. Opsi default menyediakan daya komputasi yang cukup besar. Anda juga dapat menggunakan platform apa pun untuk memanggil REST API Vertex AI Google Cloud.

Buka https://colab.research.google.com/ untuk menggunakannya.

Buka [File → Catatan baru] dan mulai tulis kode baru.

6b95020b3d3369ae.png

Jika Anda mengklik Notebook Baru, Anda akan melihat sheet baru yang siap digunakan.

5. Membuat Gambar melalui Vertex AI Google Cloud

Mengimpor library

!pip install requests google-ads

Pertama, Instal library untuk Google Ads, dan permintaan API. Anda perlu memulai ulang runtime setelah menginstal library.

Anda juga dapat memuat library penting.

import requests
import json
import base64

from google.ads import googleads
from google.colab import auth
from IPython.display import display, Image

Get Authentication

Anda akan diminta untuk mengizinkan Akun Google Anda.

auth.authenticate_user()

access_token = !gcloud auth print-access-token
access_token = access_token[0]

Setelah memberikan otorisasi, Anda siap memanggil Google Cloud API.

6. Membuat gambar dari Vertex AI

Menyiapkan perintah dan permintaan POST Anda

Pertama, Anda harus memiliki project ID Google Cloud. Anda bisa mendapatkannya dari Google Cloud. Anda memerlukan perintah teks, dan Anda juga dapat menetapkan jumlah gambar yang Anda butuhkan. Untuk opsi lainnya, lihat dokumentasi resmi.

PROJECT_ID = 'abcdefg' # Your GCP project ID
TEXT_PROMPT = 'cat computer' # Your prompt goes here.
IMAGE_COUNT = 4 # You will get 4 images as a result.

Anda dapat menulis apa pun di dalam perintah teks. Di sini, kita ingin membuat gambar yang menampilkan kucing dan komputer bersama-sama dalam satu gambar.

url = f"https://us-central1-aiplatform.googleapis.com/v1/projects/{PROJECT_ID}/locations/us-central1/publishers/google/models/imagegeneration:predict"

headers = {
    "Authorization": f"Bearer {access_token}",
    "Content-Type": "application/json; charset=utf-8"
}

data = {
    "instances": [
        {
            "prompt": TEXT_PROMPT
        }
    ],
    "parameters": {
        "sampleCount": IMAGE_COUNT
    }
}

Meminta pembuatan gambar

Setelah siap untuk json, Anda kini dapat meminta pembuatan gambar. Berikut adalah permintaan http standar.

response = requests.post(url, headers=headers, data=json.dumps(data))

if response.status_code == 200:
    response_data = response.json()

    for prediction in response_data.get('predictions', []):
        image_data = base64.b64decode(prediction['bytesBase64Encoded'])
        display(Image(data=image_data))
else:
    print("Request failed:", response.status_code, response.text)

Jika Anda menunggu beberapa detik, Anda akan mendapatkan hasilnya. Sangat mudah.

dec38d2d3f7faab8.png

7. Terhubung ke Google Ads

Menghubungkan ke Akun Google Ads Anda

Anda memerlukan token developer dari Google Ads. Anda dapat mengajukan permohonan token dev dasar atau standar, tetapi untuk tujuan pengujian, token pengujian juga tersedia. Buka akun MCC Anda. Di tab alat dan setelan, Anda akan melihat pusat API. Di bagian API, Anda akan menemukan token Anda di sana.

Client ID, rahasia klien, dan token refresh harus siap di bab sebelumnya.

credentials = {
    "developer_token": "ABCDEFG",
    "client_id": "123456789012-abcd1234.apps.googleusercontent.com",
    "client_secret": "GOCSPX-abcd1234-abcd1234-abcd1234",
    "refresh_token": "1//abcdefghijklmnopqrstuvwxyz",
    "use_proto_plus": True
}

Setelah menyetel kredensial, Anda dapat memuat GoogleAdsService API. ID pelanggan biasanya dalam format xxx-xxxx-xxx, tetapi Anda harus menghapus '-'.

client = googleads.client.GoogleAdsClient.load_from_dict(credentials, version='v13')
googleads_service = client.get_service("GoogleAdsService")
customer_id = "1234567890"

Mengirim Kueri Akun Google Ads

Sekarang, Anda dapat melakukan pengujian dengan googleads_service. Mari kita kueri jenis aset yang kita miliki di akun Google Ads.

query = (
'''
SELECT
    ad_group_ad.ad.id,
    ad_group_ad.ad.app_ad.headlines,
    ad_group_ad.ad.app_ad.descriptions,
    ad_group_ad.ad.app_ad.images
FROM ad_group_ad
''')
response = googleads_service.search(customer_id=customer_id, query=query)
for googleads_row in response:
    print(googleads_row)

Anda akan melihat daftar aset di akun Google Ads dalam format json. Jika Anda melihat sesuatu seperti

ad_group_ad {

`images { asset: "customers/1234567890/assets/09876543210" }` 

}

8. Mengupload Aset Gambar ke Google Ads

Mengupload

Untuk langkah terakhir, kita akan mengupload aset yang dibuat ke Google Ads.

for prediction in response_data.get('predictions', []):
    image_base64 = prediction['bytesBase64Encoded']

    image_bytes = base64.b64decode(image_base64)

    asset_service = client.get_service('AssetService')
    asset_operation = client.get_type('AssetOperation')

    asset = asset_operation.create
    asset.type_ = client.enums.AssetTypeEnum.IMAGE
    asset.image_asset.data = image_bytes
    asset.name = "cats"

    asset_service.mutate_assets(customer_id=customer_id, operations=[asset_operation])

Setelah beberapa detik, Anda akan dapat memeriksa aset yang diupload melalui Frontend Google Ads. Berikut contoh screenshot-nya.

7f2fb6063e5ae675.png

9. Selamat

Selamat, Anda telah berhasil membuat aset gambar yang indah dari gambar yang ada.

Anda telah mempelajari

  • Cara membuat aset gambar melalui AI generatif (Vertex AI)
  • Cara mengupload gambar ke Google Ads dan menggunakannya sebagai aset gambar