Création d'un pipeline de génération vidéo avec les fonctions Cloud Angular, Veo 3.1 et Firebase

DEV - 28/12
Construire un pipeline de génération vidéo avec Angular, Veo 3.1 et Firebase Cloud...

Création d'un pipeline de génération vidéo avec les fonctions Cloud Angular, Veo 3.1 et Firebase

Dans les applications Web modernes, décharger la lourde logique d’IA générative du frontend vers le backend est une nécessité. Dans mon dernier projet, j'ai refactorisé une application Angular pour générer des vidéos de haute qualité à l'aide du modèle Veo 3.1, entièrement gérées via les services Firebase.

En déplaçant cette logique côté serveur, nous sécurisons nos clés API et pouvons mettre à jour les paramètres du modèle sans redéployer l'intégralité de l'interface utilisateur.

Conditions préalables

La stack technique du projet :

  • Angular 21, dernière version en décembre 2025.
  • Node LTS, utilisez la version LTS à partir de décembre 2025.
  • Firebase Remote Config : pour gérer les paramètres dynamiques.
  • Fonctions Firebase Cloud : à appeler par le frontend pour générer une vidéo ou interpoler une vidéo entre deux images.
  • Firebase Cloud Storage : pour héberger les fichiers vidéo générés dans le bucket de stockage Firebase par défaut.
  • Émulateur Firebase Cloud Functions : pour tester les fonctions localement surhttp://localhost:5001.
  • Gemini dans Vertex AI : utilisez Gemini dans Vertex AI pour générer des vidéos et les stocker dans Firebase Cloud Storage.

L'API publique Google AI Studio est restreinte dans ma région (Hong Kong). Cependant, Vertex AI (Google Cloud) offre un accès d'entreprise qui fonctionne ici de manière fiable. J'ai donc choisi Vertex AI pour cette démo.

npm i -g outils Firebase
Entrer en mode plein écran Quitter le mode plein écran

Installez Firebase-tools globalement à l'aide de npm.

déconnexion de Firebase
Entrer en mode plein écran Quitter le mode plein écran
connexion à Firebase
Entrer en mode plein écran Quitter le mode plein écran

Déconnectez-vous de Firebase et reconnectez-vous pour effectuer une authentification Firebase appropriée.

initialisation de Firebase
Entrer en mode plein écran Quitter le mode plein écran

Exécuterinitialisation de Firebaseet suivez les écrans pour configurer Firebase Cloud Functions, Firebase Emulator Suite, Firebase Cloud Storage et Firebase Remote Config.

Si vous avez un projet existant ou plusieurs projets, vous pouvez spécifier l'ID du projet sur la ligne de commande.

initialisation de Firebase --projet
Entrer en mode plein écran Quitter le mode plein écran

Dans les deux cas, la CLI Firebase installe automatiquementfirebase-adminetfonctions Firebasedépendances.

Une fois les étapes de configuration terminées, les outils Firebase généreront l'émulateur Firebase Functions, des fonctions, un fichier de règles de stockage, des modèles de configuration à distance et des fichiers de configuration tels que .firebaserc et firebase.json.

  • Dépendance pour l'application Angular
npm je fais firebase
Entrer en mode plein écran Quitter le mode plein écran

L'application Angular nécessite lebase de feudépendance pour initialiser une application Firebase, charger la configuration à distance et appeler Firebase Cloud Functions pour générer des vidéos.

  • Dépendances Firebase
npm je @cfworker/json-schema @google/genai @modelcontextprotocol/sdk
Entrer en mode plein écran Quitter le mode plein écran

Installez les dépendances ci-dessus pour accéder à Gemini dans Vertex AI.@google/genaidépend de@cfworker/json-schemaet@modelcontextprotocol/sdk. Si je ne les installe pas, les fonctions cloud ne peuvent pas démarrer.

Architecture

L'application frontend est construite avec Angular. Il s'appuie sur Firebase AI Logic pour générer des images à l'aide du modèle Gemini 3 Image Pro Preview. Ensuite, l'invite de texte et l'image sont soumises à une fonction Firebase Cloud pour créer une vidéo. Firebase AI Logic ne prend pas en charge la génération vidéo, la fonction cloud appelle donc l'API Gemini et le modèle Veo 3.1 pour la créer. De plus, l'API Gemini permet unsortieGcsUriparamètre qui est un chemin d'accès Google Cloud Storage valide avecgs://préfixe. La fonction stocke les vidéos générées dans le compartiment spécifié et renvoie l'URI GCS. Le client résout l'URI GCS en une URL HTTP et lit la vidéo dans un élément de lecteur vidéo HTML.

Intégration Firebase

1. Configurer les variables d'environnement

Je définis les variables d'environnement dans le projet Firebase. Cela garantit que les fonctions connaissent les régions de stockage et d'hébergement des fonctions, ainsi que le modèle Veo à utiliser pour la génération vidéo.

.env.exemple

GOOGLE_CLOUD_LOCATION="us-central1" GOOGLE_GENAI_USE_VERTEXAI=true GEMINI_VIDEO_MODEL_NAME="veo-3.1-fast-generate-001" IS_VEO31_USED="true" POLLING_PERIOD_MS="10000" GOOGLE_FUNCTION_LOCATION="us-central1" LISTE BLANCHE="http://localhost:4200" REFERER="http://localhost:4200/"
Entrer en mode plein écran Quitter le mode plein écran
VariableDescription
GOOGLE_CLOUD_LOCATIONL'emplacement du seau. J'ai choisi us-central1 car le bucket est toujours gratuit dans cette région.
GOOGLE_GENAI_USE_VERTEXAIIndique si Vertex AI est utilisé ou non.
GEMINI_VIDEO_MODEL_NAMELe nom du modèle vidéo Gemini.
IS_VEO31...
[Courte citation de 8% de l'article original]
Loading...