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 Playground का ऐक्सेस

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 से इमेज जनरेट करना

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

सबसे पहले, आपके पास 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 के फ़्रंटएंड के ज़रिए अपलोड की गई ऐसेट देखी जा सकती है. यहाँ सैंपल स्क्रीनशॉट दिया गया है.

7f2fb6063e5ae675.png

9. बधाई हो

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

आपने सीखा

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