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. 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 : https://colab.research.google.com/gist/DeliaRudy/7e989ab921036166acdc43289022941a/business story telling.ipynb 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. python import vertexai from vertexai.generative models import GenerativeModel Initialize Vertex AI assume PROJECT ID and LOCATION are set 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. @title Translation using the Cloud Translation API - Option A 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 @title Translation using Gemini Vertex AI - Option B 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 . python from google.cloud import texttospeech def synthesize text text, language code, voice name, output filename : client = texttospeech.TextToSpeechClient synthesis input = texttospeech.SynthesisInput text=text Select the voice parameters voice = texttospeech.VoiceSelectionParams language code=language code, name=voice name audio config = texttospeech.AudioConfig audio encoding=texttospeech.AudioEncoding.MP3 Generate the audio 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}'" @title Synthesizing Afrikaans Audio Using the standard Cloud TTS API for Afrikaans 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.