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. Dapatkan kredensial Google Ads

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

Buat kredensial -> Membuat 'client ID OAuth' -> Aplikasi Web

Guna 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 diotorisasi'

Tempatkan 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 Penyegaran

Akses ke OAuth Playground

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

Buka setelan, lalu periksa 'User your own OAuth credentials'. Setelah mendapatkan client ID dan rahasia klien OAuth dari bab sebelumnya, Anda dapat menempatkannya ke dalam kotak teks yang sesuai. ace79f71603a922.png

ad82eca7a99c446c.png

Menambahkan 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.

Buat Token Refresh

Klik 'Tukarkan kode otorisasi untuk token', dan Anda akan melihat token pembaruan.

e8c6860d61ad73fd.png

4. Menyiapkan Colab untuk menjalankan kode

Colab adalah notebook kode praktis yang disertakan 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.pngS

Jika Anda mengklik New Notebook, lembar baru akan siap untuk Anda.

5. Buat Gambar melalui Google Cloud Vertex AI

Mengimpor library

!pip install requests google-ads

Pertama, Instal library untuk Google Ads, dan permintaan API. Anda harus 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

Mendapatkan Autentikasi

Anda akan diminta untuk melakukan otorisasi ke Akun Google Anda.

auth.authenticate_user()

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

Setelah memberi otorisasi sendiri, Anda siap memanggil Google Cloud API.

6. Buat gambar dari Vertex AI

Menyiapkan perintah dan permintaan POST

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 diperlukan. 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 prompt teks. Di sini, kita ingin menghasilkan beberapa gambar yang berisi kucing dan komputer 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 mendapatkan json, kini Anda dapat meminta pembuatan gambar. Di bawah ini adalah permintaan http pada umumnya.

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 menunggu beberapa detik, Anda akan mendapatkan hasilnya. Sangat sederhana!

dec38d2d3f7faab8.png

7. Terhubung ke Google Ads

Terhubung ke Akun Google Ads

Anda memerlukan token developer dari Google Ads. Anda dapat mengajukan permohonan untuk 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.

Id klien, rahasia klien, dan token penyegaran 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 menetapkan 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"

Membuat 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. Upload Aset Gambar ke Google Ads

Mengupload

Untuk langkah terakhir, kita akan mengupload aset yang dihasilkan 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 Google Ads Frontend. Berikut adalah contoh screenshot.

7f2fb6063e5ae675.pngS

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