Vous avez un projet Google Cloud configuré, un script Python déployé sur Cloud Run et des connexions Make prêtes à l'emploi. Il ne manque plus qu'une chose : le scénario Make.com qui orchestre toute votre automatisation pour YouTube. C'est lui le chef d'orchestre, celui qui surveille votre Google Drive, demande à Gemini de rédiger votre SEO, et déclenche l'upload vers YouTube sans que vous ayez à lever le petit doigt.
Dans ce guide pas à pas, je vous montre exactement comment :
- Connecter Google Drive à Make via le module Watch Files in a Folder pour surveiller vos nouvelles vidéos
- Générer automatiquement le titre, la description et les tags SEO de chaque vidéo grâce à Gemini AI
- Regrouper la vidéo et sa miniature avec l'
Array Aggregatoravant l'envoi - Déclencher l'upload vers YouTube via un module HTTP sécurisé avec votre clé API
- Déplacer les fichiers traités dans votre dossier "Publié" pour clore la boucle proprement
Pourquoi assembler tous ces modules dans un seul scénario Make ?
Chaque brique créée dans les étapes précédentes ne fonctionne pas en silo. En effet, c'est le scénario Make.com qui les fait dialoguer entre elles, dans le bon ordre, au bon moment. C'est ici que votre automatisation pour YouTube prend vraiment vie.
Prévoyez :
- Votre script Python déployé sur Google Cloud Run (tutoriel partie 3)
- Votre URL Cloud Run et votre clé de sécurité sous la main
- Un compte Make.com actif et votre projet Google Cloud configuré
- Une boisson réconfortante ☕ Facultative mais recommandée !
Respirez : on y est presque, c'est la dernière ligne droite 😉
🕐 Temps estimé : 30 minutes environ.
ℹ️ Info : ce scenario Make gratuit fonctionne parfaitement avec des vidéos d'une taille maximale de 350 Mo. Pour des fichiers plus importants, il faudra adapter à la fois le scénario et le script python. Le tuto sera bientôt disponible !
📍 Ce tuto est le dernier d'une série en 4 étapes détaillées dans le sommaire.
1. Connecter Google Drive via le module Watch Files in a folder
Trigger du scénario : tous les jours à une heure précise.
Créer la connexion à Google Drive
- Connectez-vous à votre compte Make, un créez un scénario.
- Ajoutez le module Google Drive > Watch Files in a Folder à votre scénario, puis cliquez sur Créer une connexion.
- Dans le champ Nom de la connexion, saisissez un nom pour la connexion.
- Activez le bouton Afficher les paramètres avancés et saisissez les identifiants client de votre projet Google Cloud Platform (ceux enregistrés à l'étape 5 de la deuxième partie de ce tuto : Créer vos identifiants client Google Drive et YouTube).
- Cliquez sur Se connecter avec Google.
- Si vous y êtes invité, authentifiez votre compte, accordez toutes les autorisations demandées et confirmez l'accès.
🎉Vous avez créé la connexion avec succès et pouvez désormais utiliser l'application Google Drive dans vos scénarios.
ℹ️ Pour les utilisateurs @gmail : Votre connexion doit être réautorisée régulièrement. Si vous ne la réautorisez pas, votre connexion cessera de fonctionner et vos scénarios échoueront. N'oubliez donc pas de visiter votre scénario Make de temps en temps !
Paramétrer le module Watch Files in a Folder
Clic droit sur le module et cliquer sur Choose where to start → sélectionner From now on.
Champs à configurer :
- Watch files :
By Created Time: pour ne voir que les nouveaux fichiers - Choose a Drive :
My Drive(ouShared Drivesi c'est un drive partagé) - Folder : Clique sur l'icône dossier → navigue jusqu'à
YouTube/À publier - File types to Watch :
All - Limit :
2(la vidéo ET la miniature)
2. Générer le SEO avec Gemini AI via le module Generate a response
On appelle l'API Google Gemini pour lui envoyer le nom de fichier vidéo à partir duquel l’IA va produire un fichier JSON contenant le titre, la description et les tags de la vidéo. Pour cela, il va falloir récupérer la clé API pour le LLM Gemini. C'est sur Google AI Studio que ça se passe.
Récupérer la clé API de Gemini sur Google AI Studio
- Tout d'abord, connectez-vous à Google AI Studio
- Dans le menu latéral, cliquer sur Get API Key puis sur Importer les projets dans la page qui s'affiche
- Depuis la liste des projets qui apparaît, sélectionnez le projet que vous avez créé précédemment sur Google Cloud et cliquez sur Importer
- Un nouveau bouton apparaît sur la page, en haut à droite de l'écran : cliquez sur Créer une clé API
- Dans la modale qui s'affiche alors, vérifiez que le bon projet est sélectionné dans le menu déroulant et cliquez sur Créer une clé. Copiez-la et sauvegardez-la en lieu sûr.
Champs à configurer
- Connection : My Gemini AI connection → cliquez sur Add puis collez la clé API dans le champ API Key. Cliquez sur Save.
- AI Model :
Gemini 2.5 Flash - Messages > + Add item → Item 1
- Role : User
- Parts > Item 1
- Message Type : Text
- Text :
Agis comme un expert YouTube SEO francophone qui doit rédiger le titre et la description de sa vidéo YouTube. Génère uniquement un JSON valide avec ces 3 champs : {"title": "Titre YouTube accrocheur max 70 caractères basé UNIQUEMENT sur le nom du fichier vidéo", "description": "Description SEO 100 mots maximum avec hashtags", "tags": ["#tag1", "#tag2"]} Le fichier vidéo s'appelle : 1. name Ne rajoute aucun sujet qui n'est pas dans le nom du fichier. Réponds uniquement avec le JSON brut, sans balises markdown, sans ```json, sans aucun texte avant ou après.
Ajout d’un filtre pour isoler le fichier vidéo
Ce filtre empêche le scénario de s'exécuter sur l’image de miniature. Pour le moment, il ne doit continuer que pour les vidéos.
- Cliquer sur les points reliant le premier module Drive au module Gemini et le nommer “Vidéo seulement”.
- Condition :
1. Mime Type(du premier module) Text operators : Containsvideo.
Ainsi, le scénario ne "démarrera" que pour la vidéo. Comme l’agrégateur va de toute façon chercher tous les fichiers du dossier plus tard dans le scénario, il récupérera bien la miniature au passage.
Nous pouvons désormais mapper le nom de la vidéo dans le prompt Gemini :
- Rouvrez le module Gemini et repérez dans le prompt les caractères en texte :
1. namepuis effacez-les. - Trouvez la bulle
Namedans la liste de la fenêtre contextuelle et cliquez dessus pour l'ajouter au prompt. C'est la variable qui permettra d'envoyer le nom de la vidéo à chaque fois que le scénario tournera. - Ajoutez manuellement un point au prompt et sauvegardez.
3. Regrouper les fichiers vidéo et image via l'Array aggregator
L'Array Aggregator est essentiel ici pour fusionner vos deux fichiers (la vidéo et la miniature) en un seul "paquet" de données. Cela permet d'appeler le script app.py sur Google Cloud Run une seule fois avec toutes les informations nécessaires, évitant ainsi les erreurs de transfert et les doublons. Pour que cela fonctionne gratuitement et sans erreur, il nous faut utiliser un module pour "regrouper" vos fichiers avant l'envoi de notre requête HTTP. Une méthode simple :
- Utilisez un module Google Drive > Search files in a folder pour récupérer tous les fichiers du dossier. Configurez les champs suivants :
- Select the Method :
Select from the list - Choose a Drive :
My Drive - Search Scope :
Limit to the chosen folder - Choose a Folder :
/YouTube/À Traiter - Retrieve :
Files - Limit :
2
- Select the Method :
- Ajoutez le module Flow Control > Array Aggregator pour regrouper les ID, puis configurez les champs suivants :
- Source module :
Google Drive - Search for Files/folder - Target structure :
Custom - Aggregated fields : cochez
File IDetMime Type
- Source module :
4. Déclencher le script d'upload de la vidéo via le module HTTP > Make a request
C'est à cette étape que nous allons envoyer vers YouTube la vidéo, sa miniature et les informations générées par Gemini AI en déclenchant notre script python créé précédemment. Commencez par ajouter un module HTTP > Make a request.
Champs à configurer :
- Authentication type:
No authentication(pour permettre à Make.com de se connecter à l'URL générée à l’étape 4.5) - Transport layer security (TLS): laisser vide
- URL: tapez ici l’URL que vous avez récupéré depuis le Google Cloud Run en ajoutant impérativement
/uploadà la fin. Elle doit ressembler à quelque chose comme :https://votre-service.a.run.app/upload - Method:
POST - Body content type:
application/json - Body input method:
JSON string - Body content : configurez ce champ avec ce JSON combiné aux bulles vertes
Arrayde votre Array Aggregator et aux bulles bleuesTitle,DescriptionetTagsde votre module Gemini :
{
"drive_id": "{{get(map(4.array; "id"; "mimeType"; "video/mp4"); 1)}}",
"thumbnail_id": "{{ifempty(get(map(4.array; "id"; "mimeType"; "image/png"); 1); get(map(4.array; "id"; "mimeType"; "image/jpeg"); 1))}}",
"title": "{{2.result.title}}",
"desc": "{{2.result.description}}{{2.result.tags}}",
"privacy": "private"
}
- Parse response:
No
Ajouter la clé de sécurité
Dans votre module HTTP - Make a request, vous devez montrer "patte blanche" :
- Allez dans la section Headers.
- Cliquez sur Add item.
- Name : Tapez exactement
X-API-Key. - Value : Tapez votre clé de sécurité :
VOTRE_CLE_SECRETE.
Désormais, si quelqu'un trouve l'URL de votre service et tente de l'appeler sans cette clé précise, Google Cloud Run renverra une erreur 403 et refusera d'exécuter le script.
5. Déplacer les fichiers vers le dossier "Traité" via Google Drive > Move a File/Folder
C’est la dernière étape de notre scénario ! Elle permet de clore la boucle en déplaçant vos fichiers vidéo et miniature dans le dossier du Drive “Publié”.
Ajouter un module Iterator pour répéter l’action finale
Ce module permet de dire “pour chaque…”. Placé juste avant le module Google Drive final, il permettra de déclencher ce module Drive autant de fois qu’il y a de fichiers listés dans l’Array Aggregator.
- Ajoutez le module
Flow Control→Iterator. - Configurez le champ Array avec la bulle verte
Arrayde votre Array Aggregator.
Ajouter un module Google Drive > Move a File/Folder
Champs à configurer
- Connection : Restreinte, avec votre compte Google Drive (par le biais de votre app OAuth Google Cloud). Se référer au point 1.4.b.i. “Accorder toutes les autorisations Google Auth Platform” de ce tutoriel si ce n’est pas déjà fait.
- Choose a Drive:
My Drive - Select File/Folder:
File - File ID: mappez la bulle
File IDde votre Iterator. - New Drive Location: My Drive
- New Folder Location:
/YouTube/Publié
Sauvegardez avant de passer à la prochaine étape.
Cliquez sur l’icône de disquette dans le menu inférieur de votre scénario Make.
Validation de votre automatisation sur YouTube et clôture du scénario
- Commencez par upload votre vidéo et votre miniature dans le dossier du Drive "À traiter".
- Retournez sur Make et cliquez sur Run once pour valider que votre scénario tourne bien.
- Allez ensuite vérifier sur YouTube Studio que la vidéo est bien téléchargée et accompagnée des bons paramètres (miniature, titre, description tags et statut Privé). Faites des corrections si nécessaire, puis passez le statut de la vidéo en public.
🎉 Et voilà !
Problèmes fréquents liés à l'automatisation YouTube avec Make
Application Google en mode Production sans vérification
Le "Hack" du passage en Production (Pour les clients avec un compte Gmail standard gratuit). C'est la méthode la plus utilisée dans la communauté No Code pour les automatisations personnelles :
- Le client crée son projet Google Cloud et configure son écran OAuth.
- Il ajoute son adresse Gmail en tant que "Test user".
- Il génère ses identifiants (Client ID et Client Secret) et se connecte sur Make.
- L'astuce : Une fois la connexion Make établie, le client retourne dans la console Google Cloud et clique sur le bouton "Publish App" (Passer en production).
Que se passe-t-il alors ?
Google va afficher un avertissement indiquant que l'application doit être validée (processus vidéo, etc.). Mais le client n'a pas besoin de soumettre l'application à la validation ! Il peut simplement ignorer cet avertissement. Tant que le statut de l'application est "In Production", la limite des 7 jours saute définitivement. Le client sera le seul à utiliser son application, Google affichera un écran "Application non vérifiée" lors de sa toute première connexion (qu'il devra contourner en cliquant sur "Paramètres avancés > Continuer"), mais le token de rafraîchissement fonctionnera à vie sans jamais être désactivé.
Pour les utilisateurs de Google Workspace
Le statut "Interne" (Pour les clients PME utilisant Google Workspace). Puisque vous ciblez des PME, beaucoup d'entre elles utilisent une adresse e-mail professionnelle gérée par Google Workspace (ex: contact@nom-de-la-pme.com).
Pour ces clients, c'est encore plus simple :
- Lors de la création de l'écran de consentement OAuth, le client choisit le type d'utilisateur "Interne" (Internal) au lieu de "Externe".
- Les applications "Internes" sont automatiquement dispensées du délai d'expiration de 7 jours, même si elles restent en mode "Testing" ou non validées.
- L'application ne sera utilisable que par les employés de cette PME, ce qui est parfait pour un usage interne.
Dans votre tutoriel vidéo destiné à la vente, vous pourrez simplement ajouter un chapitre "Comment éviter la déconnexion tous les 7 jours" où vous expliquerez :
- Aux indépendants (Gmail gratuit) de cliquer sur "Publish App" sans jamais remplir le dossier de validation.
- Aux PME (Google Workspace) de sélectionner le type "Interne".
De cette façon, vous vendez un produit 100% fonctionnel, qui tourne en pilote automatique à vie, sans imposer à vos clients le cauchemar administratif de la validation Google !
FAQ : Automatisation de la publication de vidéos sur YouTube
Ce module surveille uniquement les fichiers créés ou uploadés directement dans le dossier, pas les fichiers déplacés depuis un autre endroit de votre Drive. Pour que le scénario se lance correctement, importez toujours votre vidéo et votre miniature directement dans le dossier "À traiter" depuis votre ordinateur.
C'est le piège classique des comptes Gmail gratuits en mode "Test". La solution : une fois votre connexion établie dans Make, retournez dans Google Cloud, accédez à l'écran de consentement OAuth et cliquez sur "Publier l'application". Inutile de remplir le dossier de validation : le simple fait de passer en "Production" suffit à supprimer la limite des 7 jours. Si vous utilisez Google Workspace, choisissez plutôt le type d'utilisateur "Interne" dès la création : aucune expiration, aucune démarche.
Cela arrive si le modèle ajoute des balises markdown autour du JSON (comme ```json ). Le prompt fourni dans ce tutoriel contient une instruction explicite pour l'éviter, mais si le problème persiste, ajoutez un module Tools > Parse JSON juste après Gemini, ou ajoutez au prompt : "Réponds uniquement avec le JSON brut, sans aucune mise en forme."
Vérifiez d'abord que la valeur "privacy" dans le corps JSON de votre module HTTP est bien définie sur "private". En effet, YouTube refuse parfois les uploads directs en public depuis l'API. Ensuite, contrôlez les logs de votre service sur Google Cloud Run (menu "Journaux") pour identifier l'erreur précise renvoyée par votre script. Les causes les plus fréquentes sont une clé API incorrecte (erreur 403) ou un timeout dépassé sur des vidéos lourdes. Toutefois, si votre vidéo ne fait pas plus de 350 Mo, ce souci ne devrait pas se produire.

0 Comments