cd /news/artificial-intelligence/cooking-an-ai-campaign-in-5-minutes-… · home topics artificial-intelligence article
[ARTICLE · art-11472] src=dev.to ↗ pub= topic=artificial-intelligence verified=true sentiment=↑ positive

Cooking an AI Campaign in 5 Minutes with Google Cloud AI APIs

This article describes a project by Google Developer Groups Johannesburg that uses Google Cloud AI APIs to create a multilingual marketing pipeline for small businesses. The system takes a simple user idea, uses Gemini on Vertex AI to generate a professional radio script, and then translates it into languages like Afrikaans, isiZulu, and isiXhosa. The goal is to help entrepreneurs quickly produce consistent, localized audio advertisements without requiring extensive time or resources.

read5 min views22 publishedMay 23, 2026

About a month or so ago, during the Build with AI season, Google Developer Groups Johannesburg in South Africa hosted a build-a-thon with a concept I genuinely loved.

The whole concept was structured like a kitchen lab, with a key focus on local small businesses . Small to medium sized businesses dominate Southern Africa, so when I first read and saw the post i could instantly relate.

I loved the idea of turning code into usable business tools and a buildathon where we could be cooking up ideas together.

Different ingredients. Different flavours. Different tools. Immense impact!

I was excited to share the tutorial before the buildathon, but life and timing happened. So instead of letting the project sit in a notebook, I decided to turn it into an article anyone can follow, as they experiment with AI-powered marketing workflows.

But before we get technical, let me explain why I chose to build a multilingual marketing pipeline using Google Cloud AI tools.

There is a bigger vision here. This isn't just about generating automated ads. It’s about creating systems where entrepreneurs can describe what they sell, define their audience, click a few buttons, and instantly receive dynamic, multilingual marketing assets they can actually use for one of the biggest advertising platforms, Radio, hence the audio content in local languages.

This project is simply the appetizer, a baseline and starting point for builders.

If AI can help market sneakers in multiple South African languages, what stops a small business from doing the same for lipstick, skincare, jewellery, furniture, or handmade products?

The Recipe: One Prompt, Multilingual Radio Copy #

Colab Notebook Link: https://colab.research.google.com/gist/DeliaRudy/7e989ab921036166acdc43289022941a/business_story_telling.ipynb

The lab focuses on a simple workflow:

  • A user describes their product or campaign idea.
  • Gemini refines the marketing message.
  • Google Text-to-Speech converts it into audio.
  • Translation tools localise the campaign into multiple languages.
  • Additional models extend multilingual support even further.

Instead of creating separate campaigns manually, the system helps generate a full multilingual experience from a single idea.

And honestly, this is where things became exciting for me.

Because many SMEs struggle with one major thing:

Creating consistent marketing content repeatedly.

Not because they lack creativity.

But because content creation takes time, resources, voiceovers, editing, localisation, and strategy.

AI changes that workflow dramatically without hurting their bottomline.

Step 1: The Prep Work (Gemini as the Brain)

Every campaign starts with an idea. We start by taking a simple user input (e.g., "Takkies Ad for tech girlies with puns on tech") and passing it to Gemini on Vertex AI to act as our creative partner.

We use gemini-2.5-flash

to structure this raw idea into a professional 15-second radio script.

import vertexai
from vertexai.generative_models import GenerativeModel

vertexai.init(project=PROJECT_ID, location=LOCATION)

model = GenerativeModel("gemini-2.5-flash")

Step 2: The Flavor Profile (Translation with Context)

For radio advertisemnets, language matters deeply. People connect differently when they hear something in a language that feels familiar to them. For this lab, we focused on English, Afrikaans, isiZulu, and isiXhosa.

You can use the standard Cloud Translation API for bulk text or use an LLM like Gemini. The notebook highlights these as option A and B. In my opinion using Gemini allows for more context-aware, creative translations that preserve the "vibe and energy" of the ad.


from google.cloud import translate_v2 as translate

translate_client = translate.Client()
languages = {
    'af': 'Afrikaans',
    'zu': 'Zulu',
    'xh': 'Xhosa'
}

llm_translations = {}

for lang_code, lang_name in languages.items():
    prompt = f"Translate the following marketing script into {lang_name}. Keep the tone professional yet catchy for a South African audience: {english_script}"

    response = model.generate_content(prompt)
    llm_translations[lang_code] = response.text

    print(f"--- {lang_name} (Gemini) ---")
    print(response.text)


llm_translations = {}
for lang_code, lang_name in languages.items():
    prompt = f"Translate the following marketing script into {lang_name}. Keep the tone professional yet catchy for a South African audience: '{english_script}' output should be just plain text"
    response = model.generate_content(prompt)
    llm_translations[lang_code] = response.text
    print(f"--- {lang_name} (Gemini) ---")
    print(response.text)
    print()

Step 3: The Presentation (Text-to-Speech)

Now we need to plate the dish. We use the Google Cloud Text-to-Speech API to convert our generated scripts into high-quality, natural-sounding audio files.

Here is how you generate the Afrikaans version. You can wrap this in a function to loop through your translated scripts, swapping out the language_code

and name

(e.g., using af-ZA-Standard-A

for Afrikaans).

from google.cloud import texttospeech

def synthesize_text(text, language_code, voice_name, output_filename):
    client = texttospeech.TextToSpeechClient()
    synthesis_input = texttospeech.SynthesisInput(text=text)

    voice = texttospeech.VoiceSelectionParams(
        language_code=language_code,
        name=voice_name
    )

    audio_config = texttospeech.AudioConfig(
        audio_encoding=texttospeech.AudioEncoding.MP3
    )

    response = client.synthesize_speech(
        input=synthesis_input, voice=voice, audio_config=audio_config
    )

    with open(output_filename, "wb") as out:
        out.write(response.audio_content)
    print(f"Audio content written to file '{output_filename}'")

synthesize_text(llm_translations['af'], "af-ZA", "af-ZA-Standard-A", "ad_afrikaans.mp3")

Going Beyond the Basics: Vertex AI Model Garden

Whilst working on completing the lab, I ran into an interesting architectural challenge. While the standard TTS API is constantly expanding, it doesn't currently offer a native voice for Xhosa (xh-ZA

) and Zulu (zu-ZA

). Think of a radio advert in South Africa excluding these two languages, would it fare well in Kwazulu Natal or part of the Eastern Cape?

This is where Vertex AI’s Model Garden shines, going beyond calling the gemini models and looking for open models that support text-to-speech.

Did you know: You can deploy specialized open-source models (like SeamlessM4T, which supports over 100 languages including Zulu and Xhosa) directly to an endpoint and route your specific language requests there.

What Comes Next?

Right now, this pipeline demonstrates the mechanics: prompting, refining scripts, translating content with context, and generating multilingual voiceovers.

The goal of sharing this isn't to replace human creativity. It’s to show how easily developers can reduce the barriers that stop small businesses from showing up consistently online. Sometimes innovation doesn’t start with massive enterprise infrastructure—sometimes it starts with a build-a-thon, a simple Python script, and a community willing to experiment together in the kitchen.

Share your feedback in the comments/questions. I would love to hear what you think of this lab.

── more in #artificial-intelligence 4 stories · sorted by recency
── more on @google cloud 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/cooking-an-ai-campai…] indexed:0 read:5min 2026-05-23 ·