কিভাবে Vertex AI থেকে ছবি তৈরি করবেন এবং Google Ads এ আপলোড করবেন

১. ভূমিকা

আপনি যা তৈরি করবেন

এই কোডল্যাবে আপনি শিখবেন, কীভাবে Vertex AI ব্যবহার করে ছবি তৈরি করতে হয় এবং সেগুলোকে Google Ads-এ পাঠাতে হয়, যাতে সেই অ্যাসেটগুলো ক্যাম্পেইনে ইমেজ অ্যাসেট হিসেবে ব্যবহার করা যায়।

আপনি যা শিখবেন

  • GCP, Vertex AI থেকে কীভাবে ছবি তৈরি করবেন
  • গুগল অ্যাডসে কীভাবে ছবি আপলোড করবেন
  • গুগল অ্যাডসে এটি কীভাবে ব্যবহার করবেন

আপনার যা যা লাগবে

  • গুগল বিজ্ঞাপন অ্যাকাউন্ট
  • জিসিপি অ্যাকাউন্ট

২. গুগল অ্যাডস ক্রেডেনশিয়াল সংগ্রহ করুন।

গুগল অ্যাডস থেকে ইমেজ অ্যাসেট পেতে এই অংশটি প্রয়োজন। কোলাব থেকে গুগল অ্যাডস অ্যাক্সেস করতে আপনার সঠিক ক্রেডেনশিয়াল প্রয়োজন।

ক্রেডেনশিয়াল তৈরি করুন -> 'OAuth ক্লায়েন্ট আইডি' তৈরি করুন -> ওয়েব অ্যাপ্লিকেশন

গুগল অ্যাডস সংযোগ করার জন্য সঠিক ক্রেডেনশিয়াল পেতে, আপনাকে ক্লাউড ক্রেডেনশিয়াল অ্যাক্সেস করতে হবে।

আপনি যদি কনসেন্ট স্ক্রিন কনফিগার না করে থাকেন, তাহলে প্রথমে কনসেন্ট স্ক্রিন সেটআপ করুন।

  1. ব্যবহারকারীর ধরণ: বহিরাগত
  2. প্রকাশনার অবস্থা: নির্মাণাধীন

6ecf963c5957379d.png

'অনুমোদিত পুনঃনির্দেশ URI'-তে নিম্নলিখিত URI যোগ করুন।

নিচের স্ক্রিনশটের মতো করে URI-টি দিন।

https://developers.google.com/oauthplayground

b5d054a6cac40869.png

ক্লায়েন্ট আইডি এবং ক্লায়েন্ট সিক্রেট কপি করুন

আপনি ক্লায়েন্ট আইডি এবং ক্লায়েন্ট সিক্রেট পেতে পারেন।

c8578bf54ade7cee.png

৩. রিফ্রেশ টোকেন তৈরি করুন

OAuth প্লেগ্রাউন্ডে অ্যাক্সেস

আপনি OAuth Playground- এ সহজেই একটি অস্থায়ী রিফ্রেশ টোকেন ইস্যু করতে পারেন।

সেটিংসে যান এবং 'আপনার নিজের OAuth ক্রেডেনশিয়াল ব্যবহার করুন' বিকল্পটি চেক করুন। পূর্ববর্তী অধ্যায় থেকে OAuth ক্লায়েন্ট আইডি এবং ক্লায়েন্ট সিক্রেট সংগ্রহ করার পর, আপনি সেগুলি সংশ্লিষ্ট টেক্সট বক্সগুলিতে প্রবেশ করাতে পারেন। ace79f71603a922.png

ad82eca7a99c446c.png

স্কোপ যোগ করুন

আপনি নীচের অংশে https://www.googleapis.com/auth/adwords স্কোপটি যোগ করতে পারেন।

eff5408ba160aad1.png

Authorize APIs-এ ক্লিক করুন, এবং আপনি পরবর্তী স্ক্রিনটি দেখতে পাবেন।

রিফ্রেশ টোকেন তৈরি করুন

‘টোকেনগুলির জন্য অনুমোদন কোড বিনিময় করুন’-এ ক্লিক করুন, এবং আপনি রিফ্রেশ টোকেনটি দেখতে পাবেন।

e8c6860d61ad73fd.png

৪. কোডটি চালানোর জন্য কোলাব প্রস্তুত করুন।

কোলাব হলো পাইথনের সাথে আসা একটি সুবিধাজনক কোড নোটবুক। এর ডিফল্ট অপশনটি বেশ ভালো পরিমাণ কম্পিউটিং ক্ষমতা প্রদান করে। এছাড়াও আপনি যেকোনো প্ল্যাটফর্ম ব্যবহার করে গুগল ক্লাউড ভার্টেক্স এআই-এর REST API কল করতে পারেন।

এটি ব্যবহার করতে অনুগ্রহ করে https://colab.research.google.com/ -এ যান।

[ফাইল → নতুন নোট]-এ যান এবং নতুন কোড লেখা শুরু করুন।

6b95020b3d3369ae.png

আপনি 'New Notebook'-এ ক্লিক করলে, আপনার জন্য প্রস্তুত নতুন শীটটি দেখতে পাবেন।

৫. গুগল ক্লাউড ভার্টেক্স এআই এর মাধ্যমে ইমেজ তৈরি করুন

লাইব্রেরি আমদানি করুন

!pip install requests google-ads

প্রথমে, গুগল অ্যাডস এবং এপিআই রিকোয়েস্টের জন্য লাইব্রেরিগুলো ইনস্টল করুন। লাইব্রেরিগুলো ইনস্টল করার পর আপনাকে রানটাইম রিস্টার্ট করতে হবে।

আপনি প্রয়োজনীয় লাইব্রেরিগুলোও লোড করতে পারেন।

import requests
import json
import base64

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

প্রমাণীকরণ পান

আপনাকে আপনার গুগল অ্যাকাউন্ট অনুমোদন করতে বলা হবে।

auth.authenticate_user()

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

নিজেকে অনুমোদন করার পর, আপনি গুগল ক্লাউড এপিআই কল করার জন্য প্রস্তুত।

৬. ভার্টেক্স এআই থেকে ছবি তৈরি করুন

আপনার প্রম্পট এবং পোস্ট অনুরোধ প্রস্তুত করুন

প্রথমত, আপনার গুগল ক্লাউড প্রজেক্ট আইডি থাকতে হবে। আপনি এটি গুগল ক্লাউড থেকে পেতে পারেন। আপনার একটি টেক্সট প্রম্পট প্রয়োজন হবে এবং আপনি কতগুলো ছবি লাগবে তাও নির্ধারণ করতে পারবেন। আরও বিকল্পের জন্য, অনুগ্রহ করে অফিসিয়াল ডকুমেন্টেশন দেখুন।

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.

আপনি টেক্সট প্রম্পটের ভেতরে যেকোনো কিছু লিখতে পারেন। এখানে, আমরা এমন ছবি তৈরি করতে চাই যেখানে বিড়াল এবং কম্পিউটার একসাথে একটি ছবিতে থাকবে।

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
    }
}

ছবি তৈরির অনুরোধ

একবার আপনি json প্রস্তুত করে ফেললে, এবার ইমেজ তৈরির জন্য অনুরোধ করতে পারেন। নিচে একটি সাধারণ http অনুরোধ দেওয়া হলো।

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)

কয়েক সেকেন্ড অপেক্ষা করলেই ফলাফল পেয়ে যাবেন। খুবই সহজ!

dec38d2d3f7faab8.png

৭. গুগল অ্যাডস-এর সাথে সংযুক্ত হন

আপনার গুগল অ্যাডস অ্যাকাউন্টে সংযোগ করুন

আপনার গুগল অ্যাডস থেকে একটি ডেভেলপার টোকেন প্রয়োজন। আপনি বেসিক বা স্ট্যান্ডার্ড ডেভ টোকেনের জন্য আবেদন করতে পারেন, তবে পরীক্ষার উদ্দেশ্যে টেস্ট টোকেনও পাওয়া যায়। আপনার এমসিসি অ্যাকাউন্টে যান। টুলস অ্যান্ড সেটিংস ট্যাবে, আপনি এপিআই সেন্টার দেখতে পাবেন। এপিআই বিভাগে, আপনি আপনার টোকেনটি সেখানে খুঁজে পাবেন।

ক্লায়েন্ট আইডি, ক্লায়েন্ট সিক্রেট এবং রিফ্রেশ টোকেন পূর্ববর্তী অধ্যায়েই প্রস্তুত রাখা উচিত।

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
}

ক্রেডেনশিয়াল সেট করার পর, আপনি GoogleAdsService API লোড করতে পারবেন। কাস্টমার আইডি সাধারণত xxx-xxxx-xxx ফরম্যাটে থাকে, কিন্তু আপনাকে '-' চিহ্নটি সরিয়ে ফেলতে হবে।

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

গুগল অ্যাডস অ্যাকাউন্ট সম্পর্কে জিজ্ঞাসা করা হচ্ছে

এখন, আপনি googleads_service দিয়ে পরীক্ষা করতে পারেন। চলুন, আমাদের 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)

আপনি গুগল অ্যাডস অ্যাকাউন্টে অ্যাসেটগুলোর তালিকা json ফরম্যাটে দেখতে পাবেন। যদি আপনি এরকম কিছু দেখেন

ad_group_ad {

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

}

৮. গুগল অ্যাডস-এ ইমেজ অ্যাসেট আপলোড করুন

আপলোড

শেষ ধাপে, আমরা তৈরি করা অ্যাসেটগুলো গুগল অ্যাডস-এ আপলোড করব।

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])

কয়েক সেকেন্ড পর, আপনি গুগল অ্যাডস ফ্রন্টএন্ডের মাধ্যমে আপলোড করা অ্যাসেটটি দেখতে পারবেন। এখানে একটি নমুনা স্ক্রিনশট দেওয়া হলো।

7f2fb6063e5ae675.png

৯. অভিনন্দন

অভিনন্দন, আপনি বিদ্যমান ছবিটি থেকে সফলভাবে সুন্দর ইমেজ অ্যাসেট তৈরি করেছেন!

আপনি শিখেছেন

  • জেনারেটিভ এআই (ভার্টেক্স এআই) এর মাধ্যমে কীভাবে ইমেজ অ্যাসেট তৈরি করবেন
  • কীভাবে গুগল অ্যাডস-এ ছবি আপলোড করবেন এবং সেগুলোকে ইমেজ অ্যাসেট হিসেবে ব্যবহার করবেন