Naar inhoud
lightbulb Welkom op de nieuwe kennisbank | We hebben de docs volledig vernieuwd met meer dan 160 features. Bekijk wat nieuw isarrow_forward

Videoproductie automatiseren met AI

Bouw een pipeline die serie-, update- en rapportagevideo's automatisch genereert met AI-tools, scripts en de Gemini-, Imagen-, Veo- en Text-to-Speech-API's.

Wanneer automatisering zinvol is

Handmatige videoproductie loont als je af en toe een video maakt. Automatisering loont zodra je regelmatig video's maakt met dezelfde structuur maar wisselende inhoud.

Voorbeelden waarbij automatisering de doorlooptijd van uren naar minuten terugbrengt:

  • Wekelijkse productupdate-video's op basis van een changelog
  • Maandelijkse rapportagevideo's op basis van spreadsheet-data
  • Gepersonaliseerde salesvideo's per prospect (naam, bedrijf, use case)
  • Eventteasers per deelnemende spreker
  • Productdemo's per variant in een catalogus
warning

Voor wie is dit bedoeld

Videoproductieautomatisering vereist technische kennis: scripting (Python of Node.js), API-integraties en videorenderpijplijnen. Dit artikel is geschreven voor ontwikkelaars en technisch ingestelde marketeers.

De automatiseringspijplijn

Een pijplijn voor geautomatiseerde videoproductie bestaat uit vier lagen.

Laag 1: Datainname

De variabele data bepaalt de inhoud van elke video. Bronnen:

  • Google Sheets (via de Sheets API)
  • JSON-bestand of REST API-respons
  • Database (PostgreSQL, BigQuery)
  • CRM-export (HubSpot, Salesforce)

Elke rij of record staat voor één video. De kolommen zijn de variabelen: productnaam, beschrijving, prijs, beeldprompt.

Laag 2: Scriptgeneratie

Gebruik de Gemini API (of de Claude API) om per record een videoscript te genereren. Gebruik een actueel model: gemini-2.0-flash is per 1 juni 2026 uitgefaseerd, dus kies gemini-2.5-flash voor nieuwe projecten, of een nieuwer Flash-model als dat beschikbaar is.

from google import genai

client = genai.Client(api_key="YOUR_API_KEY")

def genereer_script(product_naam, voordelen):
    prompt = f"""Schrijf een videoscript van 60 seconden voor het product {product_naam}.
    Voordelen: {voordelen}.
    Structuur: opening (10s), drie voordelen (30s), call to action (20s).
    Schrijf de voice-over tekst per scene, gescheiden door [SCENE]."""
    response = client.models.generate_content(
        model="gemini-2.5-flash",
        contents=prompt,
    )
    return response.text

Laag 3: Beeld- of videogeneratie

Voor een data-gedreven pipeline met deterministische output genereer je per scene een achtergrondafbeelding via de Imagen-API op Vertex AI. Imagen 4 is het actuele model (imagen-4.0-generate-001).

import vertexai
from vertexai.preview.vision_models import ImageGenerationModel

vertexai.init(project="JOUW_PROJECT", location="us-central1")
model = ImageGenerationModel.from_pretrained("imagen-4.0-generate-001")

def genereer_scene_afbeelding(scene_beschrijving):
    images = model.generate_images(
        prompt=f"{scene_beschrijving}, professionele zakelijke stijl, blauw kleurenpalet",
        number_of_images=1,
        aspect_ratio="16:9",
    )
    return images[0]
info

Endpoints verlopen, plan je migratie

Google faseert de losse Imagen 3- en Imagen 4-endpoints uit en raadt aan om vóór 30 juni 2026 over te stappen op gemini-2.5-flash-image voor beeldgeneratie. Controleer de actuele Vertex AI-modelpagina voordat je in productie gaat, want modelnamen veranderen sneller dan de rest van de pipeline.

Wil je echte bewegende video in plaats van stilstaande beelden met overlay, dan kun je de Veo-API gebruiken via de Gemini API. Veo 3.1 genereert clips van circa 8 seconden met natief gegenereerd geluid, in 720p, 1080p of 4k. Dat geeft levendiger resultaat, maar is duurder en minder voorspelbaar per render dan de aanpak met Imagen plus Text-to-Speech.

Laag 4: Video-assemblage

Combineer de gegenereerde beelden, de voice-over (via de Text-to-Speech API) en eventuele tekstoverlays tot één video. Drie veelgebruikte opties:

Optie A: ffmpeg met Python

ffmpeg -loop 1 -i scene1.jpg -i voice_scene1.mp3 \
  -c:v libx264 -tune stillimage -c:a aac \
  -shortest scene1.mp4

Concateneer daarna alle scenes:

ffmpeg -f concat -safe 0 -i scenes_list.txt -c copy output.mp4

Optie B: Remotion (React-gebaseerd)

Remotion is een React-library die videocomposities rendert als MP4. Ideaal voor video's met complexe tekstoverlays en animaties, omdat je de layout in JSX opbouwt.

Optie C: Creatomate API

Creatomate is een commerciële template-engine met API. Je definieert een JSON-template en Creatomate rendert de video met jouw variabelen. Eenvoudiger dan ffmpeg, maar met kosten per render.

Voice-over met Google Text-to-Speech

De Google Cloud Text-to-Speech API zet je scripttekst om in een voice-over. De Standard-stemmen zijn het goedkoopst; voor een natuurlijker resultaat gebruik je de Chirp 3 HD-stemmen (ongeveer $30 per miljoen tekens, met een gratis maandtegoed van 1 miljoen tekens).

from google.cloud import texttospeech

client = texttospeech.TextToSpeechClient()

def genereer_voice_over(tekst, taal="nl-NL", stem="nl-NL-Standard-A"):
    input_text = texttospeech.SynthesisInput(text=tekst)
    voice = texttospeech.VoiceSelectionParams(
        language_code=taal,
        name=stem,
    )
    audio_config = texttospeech.AudioConfig(
        audio_encoding=texttospeech.AudioEncoding.MP3
    )
    response = client.synthesize_speech(
        input=input_text,
        voice=voice,
        audio_config=audio_config,
    )
    return response.audio_content
lightbulb

Kies de juiste stem per taal

Controleer met client.list_voices(language_code="nl-NL") welke stemmen voor jouw taal beschikbaar zijn. De namen verschillen per stemfamilie: een Chirp 3 HD-stem heet bijvoorbeeld anders dan een Standard-stem, dus hardcode geen stemnaam zonder te valideren.

Pipeline-orchestratie

Gebruik een workflow-orchestrator om de stappen te coördineren:

  • Google Cloud Workflows: serverless, integreert native met Google-diensten
  • Apache Airflow: krachtig, self-hosted of via Cloud Composer
  • n8n: visuele workflow-builder, geschikt voor minder technische gebruikers
  • Python-script: voor eenvoudige pijplijnen volstaat een script met sequentiële stappen

Kwaliteitscontrole in de pipeline

Bouw automatische controles in zodat foute output niet ongezien live gaat:

  • Controleer de videoduur: te kort of te lang triggert een handmatige review
  • Valideer dat alle scenes zijn gegenereerd (geen lege scene)
  • Sla per video een preview-thumbnail op voor steekproefsgewijze controle
  • Log alle API-responsstatussen voor foutopsporing
  • Verwerk SynthID-watermerken op gegenereerd beeld correct en wees transparant dat de video AI-gegenereerd is

Zo zet je een minimale pipeline op

  1. Definieer je dataschema: één rij per video, met kolommen als product_naam, voordelen en beeldprompt.
  2. Genereer per rij een script met gemini-2.5-flash en split het op [SCENE].
  3. Genereer per scene een beeld met Imagen 4 (of gemini-2.5-flash-image) en een voice-over met Text-to-Speech.
  4. Assembleer de scenes met ffmpeg of Remotion tot één MP4.
  5. Voer de kwaliteitscontroles uit en publiceer alleen video's die slagen.
Hoe hoog zijn de kosten van een geautomatiseerde videopijplijn?

Reken globaal per video: Imagen ongeveer $0,02 tot $0,08 voor vijf scenes, Text-to-Speech vanaf circa $0,004 per 1000 tekens voor Standard-stemmen (Chirp 3 HD ligt hoger, rond $30 per miljoen tekens), plus wat compute voor de orchestratie. Schat ruwweg $0,10 tot $0,50 per video. Bij honderd video's per maand kom je dan op tien tot vijftig euro. Veo-video kost duidelijk meer per render. Controleer altijd de actuele prijslijst, want tarieven wijzigen regelmatig.

Kan ik de pipeline hosten op Google Cloud?

Ja. Cloud Run (containerized) of Cloud Functions (serverless) zijn geschikte hosts. Je triggert de pipeline via Pub/Sub, Cloud Scheduler of een webhook.

Hoe voeg ik achtergrondmuziek toe aan de gegenereerde video?

Voeg een royalty-free muziektrack toe via ffmpeg. Mix de muziek op laag volume (rond -20dB) met de voice-overtrack en voeg beide samen toe tijdens de assemblage.

Is er een no-code alternatief voor deze pijplijn?

Ja. Combineer n8n of Make.com met Creatomate en een TTS-dienst zoals ElevenLabs voor een grotendeels no-code pipeline. Dat is minder flexibel, maar vereist nauwelijks code.

Wat als Google een model uitfaseert dat ik gebruik?

Hardcode geen modelnaam diep in je pipeline. Zet de modelnaam in configuratie of een omgevingsvariabele, zodat je bij een uitfasering (zoals gemini-2.0-flash per 1 juni 2026) snel kunt overstappen zonder code te herschrijven.

Kan ik in plaats van stilstaande beelden echte bewegende video genereren?

Ja, via de Veo-API op de Gemini API. Veo 3.1 maakt korte clips met natief geluid in tot 4k. Houd er rekening mee dat dit duurder en minder deterministisch is dan de combinatie van Imagen-beeld met een Text-to-Speech-voice-over.