{"slug": "cooking-an-ai-campaign-in-5-minutes-with-google-cloud-ai-apis", "title": "Cooking an AI Campaign in 5 Minutes with Google Cloud AI APIs", "summary": "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.", "body_md": "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.\n\nThe 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.\n\nI loved the idea of turning code into usable business tools and a buildathon where we could be cooking up ideas together.\n\nDifferent ingredients. Different flavours. Different tools. Immense impact!\n\nI 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.\n\nBut before we get technical, let me explain why I chose to build a multilingual marketing pipeline using Google Cloud AI tools.\n\nThere 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.\n\nThis project is simply the appetizer, a baseline and starting point for builders.\n\nIf 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?\n\n## The Recipe: One Prompt, Multilingual Radio Copy\n\n[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)\n\nThe lab focuses on a simple workflow:\n\n- A user describes their product or campaign idea.\n- Gemini refines the marketing message.\n- Google Text-to-Speech converts it into audio.\n- Translation tools localise the campaign into multiple languages.\n- Additional models extend multilingual support even further.\n\nInstead of creating separate campaigns manually, the system helps generate a full multilingual experience from a single idea.\n\nAnd honestly, this is where things became exciting for me.\n\nBecause many SMEs struggle with one major thing:\n\nCreating consistent marketing content repeatedly.\n\nNot because they lack creativity.\n\nBut because content creation takes time, resources, voiceovers, editing, localisation, and strategy.\n\nAI changes that workflow dramatically without hurting their bottomline.\n\n### Step 1: The Prep Work (Gemini as the Brain)\n\nEvery 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.\n\nWe use `gemini-2.5-flash`\n\nto structure this raw idea into a professional 15-second radio script.\n\n``` python\nimport vertexai\nfrom vertexai.generative_models import GenerativeModel\n\n# Initialize Vertex AI (assume PROJECT_ID and LOCATION are set)\nvertexai.init(project=PROJECT_ID, location=LOCATION)\n\nmodel = GenerativeModel(\"gemini-2.5-flash\")\n```\n\n### Step 2: The Flavor Profile (Translation with Context)\n\nFor 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.\n\nYou *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.\n\n```\n# @title Translation using the Cloud Translation API - Option A\n\nfrom google.cloud import translate_v2 as translate\n\ntranslate_client = translate.Client()\nlanguages = {\n    'af': 'Afrikaans',\n    'zu': 'Zulu',\n    'xh': 'Xhosa'\n}\n\nllm_translations = {}\n\nfor lang_code, lang_name in languages.items():\n    prompt = f\"Translate the following marketing script into {lang_name}. Keep the tone professional yet catchy for a South African audience: {english_script}\"\n\n    response = model.generate_content(prompt)\n    llm_translations[lang_code] = response.text\n\n    print(f\"--- {lang_name} (Gemini) ---\")\n    print(response.text)\n\n   # @title Translation using Gemini (Vertex AI) - Option B\n\nllm_translations = {}\nfor lang_code, lang_name in languages.items():\n    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\"\n    response = model.generate_content(prompt)\n    llm_translations[lang_code] = response.text\n    print(f\"--- {lang_name} (Gemini) ---\")\n    print(response.text)\n    print()\n```\n\n### Step 3: The Presentation (Text-to-Speech)\n\nNow 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.\n\nHere 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`\n\nand `name`\n\n(e.g., using `af-ZA-Standard-A`\n\nfor Afrikaans).\n\n``` python\nfrom google.cloud import texttospeech\n\ndef synthesize_text(text, language_code, voice_name, output_filename):\n    client = texttospeech.TextToSpeechClient()\n    synthesis_input = texttospeech.SynthesisInput(text=text)\n\n    # Select the voice parameters\n    voice = texttospeech.VoiceSelectionParams(\n        language_code=language_code,\n        name=voice_name\n    )\n\n    audio_config = texttospeech.AudioConfig(\n        audio_encoding=texttospeech.AudioEncoding.MP3\n    )\n\n    # Generate the audio\n    response = client.synthesize_speech(\n        input=synthesis_input, voice=voice, audio_config=audio_config\n    )\n\n    with open(output_filename, \"wb\") as out:\n        out.write(response.audio_content)\n    print(f\"Audio content written to file '{output_filename}'\")\n\n# @title Synthesizing Afrikaans Audio\n# Using the standard Cloud TTS API for Afrikaans\nsynthesize_text(llm_translations['af'], \"af-ZA\", \"af-ZA-Standard-A\", \"ad_afrikaans.mp3\")\n```\n\n### Going Beyond the Basics: Vertex AI Model Garden\n\nWhilst 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`\n\n) and Zulu (`zu-ZA`\n\n). 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?\n\nThis is where Vertex AI’s *Model Garden* shines, going beyond calling the gemini models and looking for open models that support text-to-speech.\n\nDid 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.\n\n### What Comes Next?\n\nRight now, this pipeline demonstrates the mechanics: prompting, refining scripts, translating content with context, and generating multilingual voiceovers.\n\nThe 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.\n\nShare your feedback in the comments/questions. I would love to hear what you think of this lab.", "url": "https://wpnews.pro/news/cooking-an-ai-campaign-in-5-minutes-with-google-cloud-ai-apis", "canonical_source": "https://dev.to/delia_rue/cooking-an-ai-campaign-in-5-minutes-with-google-cloud-ai-apis-383i", "published_at": "2026-05-23 13:41:45+00:00", "updated_at": "2026-05-23 14:02:15.464587+00:00", "lang": "en", "topics": ["artificial-intelligence", "machine-learning", "cloud-computing", "developer-tools", "products"], "entities": ["Google Cloud", "Google Developer Groups Johannesburg", "South Africa", "Build with AI"], "alternates": {"html": "https://wpnews.pro/news/cooking-an-ai-campaign-in-5-minutes-with-google-cloud-ai-apis", "markdown": "https://wpnews.pro/news/cooking-an-ai-campaign-in-5-minutes-with-google-cloud-ai-apis.md", "text": "https://wpnews.pro/news/cooking-an-ai-campaign-in-5-minutes-with-google-cloud-ai-apis.txt", "jsonld": "https://wpnews.pro/news/cooking-an-ai-campaign-in-5-minutes-with-google-cloud-ai-apis.jsonld"}}