Vertex AI से इमेज जनरेट करने और उसे Google Ads पर अपलोड करने का तरीका

1. परिचय

आपको क्या बनाना होगा

इस कोडलैब में, आपको Vertex AI की मदद से इमेज जनरेट करने और उसे Google Ads को भेजने का तरीका पता चलेगा, ताकि ऐसेट का इस्तेमाल कैंपेन में इमेज ऐसेट के तौर पर किया जा सके.

आपको इनके बारे में जानकारी मिलेगी

  • GCP और Vertex AI से इमेज जनरेट करने का तरीका
  • Google Ads में इमेज अपलोड करने का तरीका
  • Google Ads में इसे इस्तेमाल करने का तरीका

आपको इन चीज़ों की ज़रूरत होगी

  • Google Ads खाता
  • GCP खाता

2. Google Ads के क्रेडेंशियल पाएं

Google Ads से इमेज ऐसेट पाने के लिए, यह हिस्सा ज़रूरी होता है. Colab से Google Ads ऐक्सेस करने के लिए, आपके पास सही क्रेडेंशियल होना चाहिए.

क्रेडेंशियल बनाएं -> ‘OAuth क्लाइंट आईडी' बनाएं -> वेब ऐप्लिकेशन

Google Ads से कनेक्ट करने के लिए सही क्रेडेंशियल पाने के लिए, आपको Cloud क्रेडेंशियल ऐक्सेस करने होंगे.

अगर आपने सहमति वाली स्क्रीन कॉन्फ़िगर नहीं की है, तो पहले सहमति वाली स्क्रीन सेटअप करें.

  1. उपयोगकर्ता का टाइप: बाहरी
  2. पब्लिश करने की स्थिति: प्रोडक्शन में है

6ecf963c5957379d.png

इस यूआरआई को ‘अनुमति वाले रीडायरेक्ट यूआरआई' में जोड़ें

नीचे दिए गए स्क्रीनशॉट के तौर पर, यूआरआई को नीचे रखें.

https://developers.google.com/oauthplayground

b5d054a6cac40869.png

क्लाइंट आईडी और क्लाइंट सीक्रेट कॉपी करना

आपको क्लाइंट आईडी और क्लाइंट सीक्रेट मिल सकता है.

c8578bf54ade7cee.png

3. रीफ़्रेश टोकन जनरेट करें

OAuth प्लेग्राउंड का ऐक्सेस

OAuth Playground पर आसानी से अस्थायी रीफ़्रेश टोकन जारी किया जा सकता है.

सेटिंग में जाएं और 'उपयोगकर्ता के अपने OAuth क्रेडेंशियल' देखें. पिछले चैप्टर में OAuth क्लाइंट आईडी और क्लाइंट सीक्रेट हासिल करने के बाद, उन्हें उनसे जुड़े टेक्स्ट बॉक्स में डाला जा सकता है. ace79f71603a922.png

ad82eca7a99c446c.png

स्कोप जोड़ना

आप नीचे दिए गए क्षेत्र में स्कोप https://www.googleapis.com/auth/adwords जोड़ सकते हैं.

eff5408ba160aad1.png

'एपीआई को अनुमति दें' पर क्लिक करें. इसके बाद, आपको अगली स्क्रीन दिखेगी.

रीफ़्रेश टोकन जनरेट करें

‘टोकन के लिए एक्सचेंज ऑथराइज़ेशन कोड’ पर क्लिक करें और आपको रीफ़्रेश टोकन दिखेगा.

e8c6860d61ad73fd.png

4. कोड को एक्ज़ीक्यूट करने के लिए Colab को तैयार करना

Colab, Python के साथ मिलने वाली एक आसान कोड नोटबुक है. डिफ़ॉल्ट विकल्प, बहुत ज़्यादा कंप्यूटिंग पावर उपलब्ध कराता है. Google Cloud Vertex AI के REST API को कॉल करने के लिए, किसी भी प्लैटफ़ॉर्म का इस्तेमाल किया जा सकता है.

इसका इस्तेमाल करने के लिए, कृपया https://colab.research.google.com/ पर जाएं.

[फ़ाइल → नया नोट] पर जाएं और नए कोड लिखना शुरू करें.

6b95020b3d3369ae.png

अगर आप नई नोटबुक पर क्लिक करते हैं, तो आपको नई शीट तैयार दिखेगी.

5. Google Cloud Vertex AI की मदद से इमेज जनरेट करें

लाइब्रेरी इंपोर्ट करें

!pip install requests google-ads

सबसे पहले, Google Ads और एपीआई अनुरोधों के लिए लाइब्रेरी इंस्टॉल करें. लाइब्रेरी इंस्टॉल करने के बाद, आपको रनटाइम को रीस्टार्ट करना होगा.

आपके पास ज़रूरी लाइब्रेरी भी लोड करने का विकल्प है.

import requests
import json
import base64

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

पुष्टि की सुविधा पाएं

आपसे अपने Google खाते को अनुमति देने के लिए कहा जाएगा.

auth.authenticate_user()

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

खुद को अनुमति देने के बाद, आप Google Cloud API को कॉल करने के लिए तैयार हैं.

6. Vertex AI की मदद से इमेज जनरेट करें

अपना प्रॉम्प्ट और पोस्ट अनुरोध तैयार करना

सबसे पहले, आपके पास अपना Google Cloud प्रोजेक्ट आईडी होना चाहिए. आपको यह Google Cloud से मिल सकता है. आपको टेक्स्ट प्रॉम्प्ट की ज़रूरत होगी. आपके पास यह सेट करने का विकल्प भी होता है कि आपको कितनी इमेज की ज़रूरत है. ज़्यादा विकल्पों के लिए, कृपया आधिकारिक दस्तावेज़ देखें.

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

7. Google Ads से जुड़ें

अपने Google Ads खाते से कनेक्ट करना

आपको Google Ads से एक डेवलपर टोकन लेना होगा. बेसिक या स्टैंडर्ड डेवलपर टोकन के लिए आवेदन किया जा सकता है. हालांकि, टेस्टिंग के लिए टेस्ट टोकन भी उपलब्ध है. अपने एमसीसी खाते पर जाएं. टूल और सेटिंग टैब में, आपको एपीआई सेंटर दिखेगा. एपीआई सेक्शन में, आपको वहां अपना टोकन मिलेगा.

क्लाइंट आईडी, क्लाइंट सीक्रेट, और रीफ़्रेश टोकन, पिछले चैप्टर में तैयार होने चाहिए.

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"

Google Ads खाते के बारे में क्वेरी करना

अब, googleads_service की मदद से जांच की जा सकती है. आइए, क्वेरी करते हैं कि 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)

आपको Google Ads खाते में ऐसेट की सूची json फ़ॉर्मैट में दिखेगी. अगर आपको कुछ ऐसा दिखता है

ad_group_ad {

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

}

8. Google Ads में इमेज एसेट अपलोड करें

अपलोड करना

आखिरी चरण में, हम जनरेट की गई ऐसेट को 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])

कुछ सेकंड के बाद, Google Ads Frontend के ज़रिए अपलोड की गई ऐसेट की जांच की जा सकेगी. यहां सैंपल का स्क्रीनशॉट दिया गया है.

7f2fb6063e5ae675.png

9. बधाई हो

बधाई हो, आपने मौजूदा इमेज से सुंदर इमेज एसेट जनरेट कर ली हैं!

आपको सीख मिली है

  • जनरेटिव एआई (Vertex AI) की मदद से इमेज ऐसेट जनरेट करने का तरीका
  • Google Ads में इमेज अपलोड करने और उन्हें इमेज ऐसेट के तौर पर इस्तेमाल करने का तरीका