1. Introdução
O que você vai criar
Neste codelab, você vai aprender a gerar imagens usando a Vertex AI e enviá-las ao Google Ads para que os recursos possam ser usados como recursos de imagem nas campanhas.
O que você vai aprender
- Como gerar imagens do GCP e da Vertex AI.
- Como fazer o upload de imagens para o Google Ads
- Como usar no Google Ads
O que é necessário
- Conta do Google Ads
- Conta do GCP
2. Receba credenciais do Google Ads
Essa parte é necessária para buscar recursos de imagem do Google Ads. Para acessar o Google Ads pelo Colab, você precisa das credenciais adequadas.
Criar credenciais -> Criar o "ID do cliente OAuth" -> Aplicativo da Web
Para ter as credenciais adequadas e conectar o Google Ads, você precisa acessar as credenciais do Cloud.
Se você não configurou a tela de consentimento, faça isso primeiro.
- Tipo de usuário: externo
- Status da publicação: em produção
Adicione o URI a seguir a "URIs de redirecionamento autorizados"
Coloque abaixo do URI, como na captura de tela abaixo.
https://developers.google.com/oauthplayground
Copiar o ID e a chave secreta do cliente
É possível conseguir o ID e a chave secreta do cliente.
3. Gerar token de atualização
Acesso ao OAuth Playground
É fácil emitir um token de atualização temporário no OAuth Playground.
Acesse as configurações e verifique a opção "Use suas próprias credenciais do OAuth". Depois de adquirir o ID do cliente OAuth e a chave secreta do cliente do capítulo anterior, coloque-os nas caixas de texto correspondentes.
Adicionar o escopo
É possível adicionar o escopo https://www.googleapis.com/auth/adwords na área abaixo.
Clique em Autorizar APIs para abrir a próxima tela.
Gerar token de atualização
Clique em "Trocar código de autorização por tokens" para ver o token de atualização.
4. Preparar o Colab para executar o código
O Colab é o notebook de código prático que acompanha o Python. A opção padrão oferece uma quantidade generosa de capacidade de computação. Também é possível usar qualquer plataforma para chamar a API REST da Vertex AI do Google Cloud.
Acesse https://colab.research.google.com/ para usar o recurso.
Acesse [Arquivo → Nova nota] e comece a escrever novos códigos.
Se clicar em Novo notebook, você verá a nova planilha pronta para você.
5. Gerar imagem com a Vertex AI do Google Cloud
Importar bibliotecas
!pip install requests google-ads
Primeiro, instale bibliotecas para o Google Ads e solicitações de API. É necessário reiniciar o ambiente de execução depois de instalar as bibliotecas.
Também é possível carregar bibliotecas essenciais.
import requests
import json
import base64
from google.ads import googleads
from google.colab import auth
from IPython.display import display, Image
Receber autenticação
Você precisará autorizar sua Conta do Google.
auth.authenticate_user()
access_token = !gcloud auth print-access-token
access_token = access_token[0]
Depois de autorizar, você pode chamar as APIs do Google Cloud.
6. Gerar imagem da Vertex AI
Preparar seu comando e solicitação POST
Primeiro, você precisa ter o ID do projeto do Google Cloud. É possível consegui-lo no Google Cloud. Você precisa de um comando de texto e também pode definir de quantas imagens precisa. Para mais opções, consulte a documentação oficial.
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.
Você pode escrever o que quiser dentro do comando de texto. Aqui, queremos gerar as imagens que mostram o gato e o computador juntos em uma única imagem.
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
}
}
Solicitar a geração de imagens
Quando estiver tudo pronto para o JSON, será possível solicitar a geração da imagem. Veja abaixo a solicitação HTTP típica.
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)
Você vai receber o resultado se esperar alguns segundos. Muito simples!
7. Conecte-se ao Google Ads
Conectar à sua conta do Google Ads
Você precisa de um token de desenvolvedor do Google Ads. É possível solicitar um token de desenvolvimento básico ou padrão, mas também há um token de teste disponível para fins de teste. Vá para sua conta da MCC. Na guia "Ferramentas e configurações", você verá a Central de API. Na seção API, você encontrará seu token.
O ID do cliente, a chave secreta do cliente e os tokens de atualização precisam estar prontos no capítulo anterior.
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
}
Depois de definir as credenciais, você pode carregar a API GoogleAdsService. O ID do cliente geralmente está no formato xxx-xxxx-xxx, mas você deve remover "-".
client = googleads.client.GoogleAdsClient.load_from_dict(credentials, version='v13')
googleads_service = client.get_service("GoogleAdsService")
customer_id = "1234567890"
Como consultar uma conta do Google Ads
Agora, você pode testar com googleads_service. Vamos consultar os tipos de recursos que estão na conta do 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)
Você verá a lista de recursos na conta do Google Ads no formato JSON. Se você notar algo como
ad_group_ad {
`images { asset: "customers/1234567890/assets/09876543210" }`
}
8. Fazer upload de recurso de imagem no Google Ads
Enviar
Na última etapa, vamos fazer o upload dos recursos gerados no 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])
Após alguns segundos, você poderá verificar o recurso enviado pelo front-end do Google Ads. Aqui está a captura de tela de exemplo.
9. Parabéns
Parabéns! Você gerou lindos recursos de imagem a partir da imagem atual.
Você aprendeu
- Como gerar recursos de imagem usando a IA generativa (Vertex AI)
- Como fazer o upload de imagens no Google Ads e usá-las como recursos de imagem