Google Cloud Blueprint: The Blueprint: Orchestrating 5,000+ AI assets for a World Cup TV spot — How Does It Work in Production?
TL;DR: To orchestrating over 5,000 AI-generated assets for a 120-second national broadcast campaign, Mito transitioned from synchronous, monolithic API calls to a serverless, asynchronous event-driven architecture on Google Cloud. By decoupling job execution with Cloud Pub/Sub, offloading 4-to-5 minute rendering tasks to Cloud Run background workers, and utilizing the Agent Development Kit (ADK) 2.0 to route multi-model intelligence across Vertex AI (Gemini 3.8 Flash, Veo 3.1, Nano Banana 2.1), they achieved real-time collaboration without UI freezing or API rate-limit throttling.
In our architectural evaluation of enterprise generative AI deployments, the transition from prototyping single-shot outputs to orchestrating massive, interconnected campaigns exposes severe infrastructure bottlenecks. The recent Mito case study detailing their 120-second national TV spot for Movistar Plus+ during the World Cup provides a definitive blueprint for solving these bottlenecks. To deliver a campaign that the production team described as 95% AI-generated, Mito had to generate a massive "iceberg" of over 5,000 assets (including 1,000 videos) across approximately 65 iteration rounds.
This dispatch deconstructs the exact Google Cloud architecture required to build an enterprise-grade, multi-model AI storytelling platform capable of handling extreme concurrency, long-running rendering latency, and complex agentic routing.
What Google Cloud Shipped & The Enterprise Problem It Solves
When engineering teams attempt to scale generative video and complex multimodal workflows, they immediately encounter a physics problem: standard AI video rendering takes four to five minutes per short clip. Running these processes synchronously over standard HTTP connections inevitably leads to gateway timeouts, frozen user interfaces, and stalled creative velocity.
Furthermore, operating on public pay-as-you-go model APIs leaves platforms vulnerable to rate limits and regional throughput throttling during peak traffic. Every generative model requires distinct prompting logic; maintaining character persistence, specific lighting, and camera angles across dozens of shots—while preserving the likeness of real public figures—is nearly impossible without central orchestration.
To solve this, Google Cloud has shipped a convergence of serverless compute, advanced model routing, and agentic frameworks:
- Cloud Run Background Workers & Jobs: Cloud Run now natively supports asynchronous execution patterns, allowing long-running tasks to be offloaded from the main request thread. This prevents UI blocking and allows the frontend to scale independently of the heavy rendering backend.
- Vertex AI Generative AI & Model Garden (2026 Models): The current 2026 model lineup—including Gemini 3.8 Flash for high-speed evaluation, Gemini 2.5 Pro for complex reasoning, Veo 3.1 for video generation, and Nano Banana 2.1—provides the specialized multimodal capabilities required for distinct pipeline stages.
- Agent Development Kit (ADK) 2.0: The GA release of ADK 2.0 introduces graph workflows and multi-agent orchestration. This allows developers to weave deterministic code with adaptive AI reasoning, treating the spatial canvas like a live code repository to infer adjacent contextual cues.
Real-World Use Cases: Where This Moves the Needle in the Field
The architectural patterns pioneered by Mito extend far beyond media and entertainment. When we inspect production topologies across various sectors, the asynchronous multi-agent pattern solves critical enterprise challenges.
1. High-Throughput Media & AdTech (Asset Localization)
- The Everyday Problem: Global marketing teams need to localize a single video campaign into 50 different languages, adjusting lip-sync, cultural visual cues, and background elements. Doing this manually or via synchronous APIs results in massive rendering queues and frequent timeout failures.
- How It Works in Practice: An ADK 2.0 graph workflow orchestrates the pipeline. A Cloud Run API receives the batch request and publishes 50 events to Pub/Sub. Cloud Run background workers consume these events, calling Gemini 3.8 Flash to translate the script, ElevenLabs for audio generation, and Veo 3.1 for video synthesis.
- The Tangible Impact: Rendering latency is isolated. The UI remains responsive, and the platform can process thousands of localized assets concurrently without hitting regional API rate limits, thanks to virtual queuing.
2. Zero-Trust Financial Document Processing (KYC/AML)
- The Everyday Problem: Banks must process millions of complex, multi-page KYC documents. Synchronous processing blocks downstream transaction pipelines, and sending PII to external, unmanaged model endpoints violates compliance.
- How It Works in Practice: Documents are uploaded to Google Cloud Storage, triggering an Eventarc event. A Cloud Run worker, secured within a VPC Service Controls perimeter, uses Gemini 2.5 Pro (via Vertex AI) to extract and validate entities. An automated evaluation harness (using a smaller model like Gemini 3.8 Flash) acts as an independent judge to verify the extraction against the original intent.
- The Tangible Impact: Enforces least-privilege service account boundaries while decoupling the ingestion of documents from the heavy, asynchronous AI processing, ensuring zero dropped transactions during traffic bursts.
3. E-Commerce Catalog Generation (Production FinOps)
- The Everyday Problem: Generating high-quality product descriptions and virtual try-on images for a catalog of 100,000 SKUs is cost-prohibitive if every generation uses the largest, most expensive reasoning model.
- How It Works in Practice: The architecture enforces a multi-model routing strategy. ADK 2.0 routes simple text generation to Gemini 3.8 Flash, while complex virtual try-on tasks are routed to specialized models like Nano Banana Virtual Try-On. Context caching is utilized for persistent brand guidelines.
- The Tangible Impact: Optimizes cost-per-request and commit utilization. By prioritizing still-frame generation before video rendering and using smaller models for evaluation, the unit economics of catalog generation become viable.
Reference Architecture on Google Cloud
To deliver an infinite, real-time creative canvas, the architecture must decouple job execution from the user interface. The following topology illustrates a serverless, asynchronous architecture built on Google Cloud, utilizing Pub/Sub as the central event bus and ADK 2.0 for multi-model intelligence routing.
flowchart LR
%% Client & Edge
Client[Web Canvas UI] -->|HTTPS| CDN[Cloud CDN]
CDN -->|Static Assets| GCS_Public[Cloud Storage]
Client -->|HTTPS API| CR_API[Cloud Run: API Service]
%% Async Decoupling
CR_API -->|Publish Job| PubSub[Cloud Pub/Sub Event Bus]
PubSub -->|Push Subscription| CR_Worker[Cloud Run: Background Workers]
%% Multi-Agent Orchestration (ADK 2.0)
subgraph "Multi-Agent Orchestration (ADK 2.0)"
CR_Worker -->|Route Task| AIDirector[AI Director Agent]
AIDirector -->|Evaluate| EvalHarness[Eval Harness: Gemini 3.8 Flash]
end
%% Vertex AI Models
subgraph "Vertex AI Model Garden (2026)"
AIDirector -->|Complex Reasoning| GeminiPro[Gemini 2.5 Pro]
AIDirector -->|Video Gen| Veo[Veo 3.1]
AIDirector -->|Image/Texture| NanoBanana[Nano Banana 2.1]
end
%% State & Storage
CR_Worker -->|Save Media| GCS_Private[Cloud Storage: Media Assets]
CR_Worker -->|Update State| CloudSQL[(Cloud SQL: PostgreSQL)]
CR_API -->|Read State| CloudSQL
%% Security & Networking
classDef gcp fill:#e8f0fe,stroke:#4285f4,stroke-width:2px,color:#1a73e8;
class CR_API,PubSub,CR_Worker,CloudSQL,GCS_Private,AIDirector,EvalHarness,GeminiPro,Veo,NanoBanana gcp;
Architectural Component Breakdown
- Decoupled Ingestion (Cloud Run & Pub/Sub): The frontend canvas interacts with a Java-based API service running on Cloud Run. Instead of waiting for a 5-minute video render, this API immediately acknowledges the request and publishes a message to Cloud Pub/Sub. This virtual queuing system mitigates third-party API rate limiting during usage spikes, ensuring smooth request concurrency with bounded retries.
- Asynchronous Workers (Cloud Run): Cloud Run background workers consume messages from Pub/Sub. These workers execute the long-running video generations, allowing creators to keep working uninterrupted on the UI canvas.
- Multi-Model Intelligence Routing (ADK 2.0): The core of the system is the "AI Director," built using the Agent Development Kit (ADK) 2.0. The AI Director dynamically coordinates tasks across multiple specialized models. It translates natural language instructions into precise model parameters while maintaining context, lighting, and visual style across every scene.
- Automated Evaluation Harness: Because creative output cannot be fully validated with standard unit tests, an automated evaluation harness powered by Gemini 3.8 Flash acts as an independent judge. It evaluates the AI Director's outputs against the original user intents.
- State and Media Storage: Media assets are stored in Google Cloud Storage and delivered via Cloud CDN to minimize latency. Expiring key signatures keep pre-release client assets strictly private. An isolated Cloud SQL PostgreSQL database handles heavy business intelligence and analytics workloads, mitigating potential negative impacts on production performance.
Step-by-Step Implementation
Implementing this architecture requires configuring the asynchronous event bus and defining the multi-agent workflow using the 2026 ADK 2.0 SDK.
1. Infrastructure Provisioning (gcloud)
First, we establish the Pub/Sub topic and deploy the Cloud Run worker service with a push subscription. This ensures that the worker scales automatically based on the queue depth.
# 1. Create the Pub/Sub topic for video rendering jobs
gcloud pubsub topics create video-render-jobs
# 2. Deploy the Cloud Run background worker (configured for long timeouts)
gcloud run deploy ai-director-worker \
--image=gcr.io/my-project/ai-director-worker:latest \
--timeout=3600 \
--concurrency=1 \
--cpu=4 \
--memory=16Gi \
--no-allow-unauthenticated \
--region=us-central1
# 3. Create a Pub/Sub push subscription to trigger the worker
gcloud pubsub subscriptions create video-render-push-sub \
--topic=video-render-jobs \
--push-endpoint=$(gcloud run services describe ai-director-worker --platform managed --region us-central1 --format="value(status.url)")/process-job \
--push-auth-service-account=pubsub-invoker@my-project.iam.gserviceaccount.com \
--ack-deadline=600
2. Multi-Agent Orchestration with ADK 2.0 (Python)
The following Python implementation demonstrates how to build the AI Director and the Automated Evaluation Harness using google-adk. We utilize gemini-2.5-pro for the complex orchestration and gemini-3.8-flash for the rapid evaluation phase.
import os
from google.adk import Agent, GraphWorkflow
from google.adk.tools import Tool
from vertexai.preview.generative_models import GenerativeModel
# Define custom tools for specialized models (Veo 3.1 and Nano Banana 2.1)
def generate_video_veo(prompt: str, duration: int) -> str:
"""Calls Vertex AI Veo 3.1 for video generation."""
# Implementation calls the Veo 3.1 API endpoint
return f"gs://mito-assets/veo_output_{hash(prompt)}.mp4"
def generate_texture_nano(prompt: str) -> str:
"""Calls Vertex AI Nano Banana 2.1 for texture generation."""
# Implementation calls the Nano Banana 2.1 API endpoint
return f"gs://mito-assets/nano_texture_{hash(prompt)}.png"
veo_tool = Tool(name="VeoVideoGen", function=generate_video_veo)
nano_tool = Tool(name="NanoTextureGen", function=generate_texture_nano)
# 1. Define the AI Director Agent (Complex Reasoning)
ai_director = Agent(
name="ai_director",
model="gemini-2.5-pro",
instruction="""You are the AI Director. Translate natural language instructions
into precise model parameters. Maintain context, lighting, and visual style.
Enforce the 'Rule of 6' (World, Camera, Light, Texture, Actions, Character).
Route tasks to the appropriate generation tools.""",
tools=[veo_tool, nano_tool]
)
# 2. Define the Evaluation Harness Agent (High-Speed Judging)
eval_harness = Agent(
name="eval_harness",
model="gemini-3.8-flash",
instruction="""You are an independent judge. Evaluate the generated asset metadata
against the original user intent. Return a JSON object with 'approved': boolean
and 'feedback': string."""
)
# 3. Construct the ADK 2.0 Graph Workflow
def orchestration_workflow(user_intent: str):
# Step A: AI Director plans and executes the generation
director_response = ai_director.run(f"Create asset for intent: {user_intent}")
generated_asset_uri = director_response.output
# Step B: Evaluation Harness validates the output
eval_response = eval_harness.run(
f"Original Intent: {user_intent}\nGenerated Asset: {generated_asset_uri}\nEvaluate accuracy."
)
if "true" in eval_response.output.lower():
return {"status": "success", "asset": generated_asset_uri}
else:
# Implement bounded retries or fallback logic here
return {"status": "failed", "feedback": eval_response.output}
# Example invocation from the Cloud Run worker endpoint
# result = orchestration_workflow("17-year-old student, stadium stands built into Galician cliffs")
Production Readiness: FinOps, Quotas & Security Guardrails
Transitioning from a prototype to a production system that handles 5,000+ assets requires strict enforcement of security perimeters, quota management, and unit economic optimization.
Security & IAM Guardrails
To protect pre-release client assets (such as a national broadcast campaign), the architecture must enforce zero-trust principles.
- VPC Service Controls (VPC SC): The Cloud Run workers, Cloud SQL database, and Cloud Storage buckets must be placed within a VPC SC perimeter. This prevents data exfiltration even if service account credentials are compromised.
- Expiring Key Signatures: Media assets stored in Google Cloud Storage are delivered via Cloud CDN using signed URLs with short expiration windows (e.g., 15 minutes). This ensures that assets remain strictly private and cannot be hotlinked.
- Least-Privilege IAM: The Pub/Sub push subscription uses a dedicated service account (
pubsub-invoker) that only has the roles/run.invoker permission for the specific background worker service.
Quota & Concurrency Management
Operating on public APIs leaves platforms vulnerable to rate limits. The architecture mitigates this through:
- Virtual Queuing: By decoupling the frontend from the backend via Pub/Sub, the system acts as a shock absorber. If Vertex AI regional throughput is throttled, the Pub/Sub messages remain in the queue, and Cloud Run workers apply exponential backoff.
- Bounded Retries: The ADK 2.0 workflow implements bounded retries. If the automated evaluation harness rejects an output, the AI Director is prompted to recalibrate (e.g., editing a prompt live to "In the same heartbeat"), but this loop is capped to prevent infinite generation cycles.
📊 Production FinOps & TCO Simulation
To maximize cost efficiency, the frontend enforces a "Rule of 6" (limiting prompt variables) and prioritizes still-frame generation before expensive video rendering. Furthermore, shifting from a synchronous monolith to an asynchronous, cache-optimized architecture drastically alters the unit economics.
The following deterministic FinOps simulation compares a naive synchronous implementation against the optimized ADK 2.0 event-driven architecture.
📊 Production FinOps & TCO Simulation: Mito 5,000+ Asset Orchestration: Synchronous vs. Asynchronous Architecture (Based on the latest Google SKU information)
Production Workload Assumptions (us-central1 / asia-southeast1):
- Workload processes 5,000 complex video generation orchestration requests per month.
- Option A (Synchronous Monolith) relies on long-running HTTP requests (5-minute waits), unoptimized Gemini 2.5 Pro prompts, and over-provisioned Cloud SQL.
- Option B (Asynchronous Event-Driven) uses Pub/Sub decoupling, Cloud Run background workers, Gemini 2.5 Pro Context Caching, and Gemini 2.5 Flash for the automated evaluation harness.
| Architecture Option |
Google SKU Unit Price & Monthly Formula |
Estimated Monthly Cost |
| Synchronous Monolith (Unoptimized) |
Cloud Run vCPU (Sync Wait - 6M sec): $2.4e-05/vCPU-second × 6,000,000 = $144.00
Cloud Run RAM (Sync Wait - 12M GiB-sec): $2.5e-06/GiB-second × 12,000,000 = $30.00
Gemini 2.5 Pro Input (50M tokens): $1.25/1M input tokens × 50 = $62.50
Gemini 2.5 Pro Output (10M tokens): $10/1M output tokens × 10 = $100.00
Cloud SQL Ent Plus (4 vCPU x 730 hrs): $0.0826/vCPU-hour × 2,920 = $241.19 |
$577.69 / mo |
| Asynchronous Event-Driven (ADK + Caching) |
Cloud Run vCPU (Async Workers - 300k sec): $2.4e-05/vCPU-second × 300,000 = $7.20
Cloud Run RAM (Async Workers - 300k GiB-sec): $2.5e-06/GiB-second × 300,000 = $0.75
Gemini 2.5 Pro Cached Input (50M tokens): $0.3125/1M cached input tokens × 50 = $15.62
Gemini 2.5 Flash Output (Eval Harness - 10M tokens): $0.6/1M output tokens × 10 = $6.00
Cloud SQL Ent Plus (2 vCPU x 730 hrs): $0.0826/vCPU-hour × 1,460 = $120.60 |
$150.17 / mo |
| Net FinOps Impact (Monthly Savings) |
Based on the latest Google SKU information |
74.0% TCO Reduction ($427.52 / mo) |
Official Google Cloud SKU Pricing Sources (2026.09): cloud.google.com, cloud.google.com, cloud.google.com
Architecturally, the outcome of this optimized topology is a future-proof foundation. By isolating rendering latency and utilizing multi-model routing, platforms are primed for rendering times to collapse from minutes to seconds, positioning enterprise workloads to handle upcoming world models, deeper memory states, and personalized content delivery at prime-time scale.