Guide

Comment uploader des videos en masse sur les reseaux sociaux

Vous avez 50 videos qui attendent dans un dossier. Peut-etre des demos produit, des reels pour des clients, ou des clips generes par IA. Les uploader une par une sur chaque plateforme prendrait des heures. Voici comment le faire en quelques minutes avec un script, le systeme de file d\'attente ou des outils d\'automatisation visuels.

L\'approche : boucle, upload, file d\'attente

L\'idee est simple. Vous prenez une liste de fichiers video, vous les parcourez en boucle, et vous envoyez chacun a l'Social media API. Pour eviter d\'inonder votre audience avec 50 posts d\'un coup, vous utilisez le systeme de file d\'attente pour qu\'ils soient distribues tout au long de la semaine aux meilleurs moments.

Il y a trois facons de faire selon votre niveau technique :

  1. Un script Python ou Bash pour un controle total
  2. n8n avec Google Drive pour un workflow visuel, sans code
  3. Make.com pour une automatisation similaire avec une interface differente

Voyons les trois.

Méthode 1 : Script Python d\'upload en lot

C\'est l\'option la plus flexible. Vous pointez le script vers un dossier de videos et il uploade chacune avec la file d\'attente activee. Installez d\'abord le SDK :

pip install upload-post

Puis lancez ce script :

import os
import glob
from upload_post import UploadPostClient

client = UploadPostClient(api_key="your-api-key-here")

video_folder = "/path/to/your/videos"
videos = glob.glob(os.path.join(video_folder, "*.mp4"))

print(f"Trouvé {len(videos)} vidéos à télécharger")

for i, video_path in enumerate(videos):
    filename = os.path.basename(video_path)
    title = filename.replace(".mp4", "").replace("-", " ").replace("_", " ")

    try:
        response = client.upload_video(
            video_path=video_path,
            title=title,
            user="mybrand",
            platforms=["tiktok", "instagram", "youtube"],
            add_to_queue=True,
            async_upload=True
        )
        job_id = response.get("job_id", "async")
        print(f"[{i+1}/{len(videos)}] Queued: {filename} (Job: {job_id})")
    except Exception as e:
        print(f"[{i+1}/{len(videos)}] Failed: {filename} - {e}")

print("Toutes les vidéos mises en file d\'attente !")

Quelques points a noter sur ce script. Le flag add_to_queue=True signifie que chaque video est assignee au prochain creneau disponible dans votre planning de file d\'attente. Et async_upload=True fait que chaque appel retourne immediatement au lieu d\'attendre que toutes les plateformes aient fini le traitement. C\'est important pour les operations en lot car un upload synchrone qui prend plus de 59 secondes passera automatiquement en mode asynchrone.

Méthode 1b : Script Bash avec cURL

Si vous preferez la ligne de commande et ne voulez pas installer Python, une simple boucle Bash fait la meme chose :

#!/bin/bash
API_KEY="your-api-key-here"
VIDEO_DIR="/path/to/your/videos"

for video in "$VIDEO_DIR"/*.mp4; do
    filename=$(basename "$video" .mp4)
    echo "Uploading: $filename"

    curl -s -X POST https://api.upload-post.com/api/upload \
      -H "Autorisation : Apikey $API_KEY" \
      -F "video=@$video" \
      -F "user=mybrand" \
      -F "title=$filename" \
      -F "platform[]=tiktok" \
      -F "platform[]=instagram" \
      -F "add_to_queue=true" \
      -F "async_upload=true"

    echo ""
done

echo "Fait ! Toutes les vidéos sont en attente."

Méthode 2 : n8n avec Google Drive (sans code)

C\'est la meilleure option si vous voulez un workflow visuel qui se lance automatiquement quand de nouvelles videos apparaissent dans un dossier. Le flux est : Google Drive detecte un nouveau fichier, le telecharge, l\'envoie a Upload-Post et le met en file d\'attente pour publication.

Nous avons un modele pret a l\'emploi pour Google Drive vers les reseaux sociaux que vous pouvez importer dans votre instance n8n en un clic. Il y a aussi une version plus avancee qui utilise des descriptions generees par IA et un suivi Airtable.

Si vous voulez le construire vous-meme, consultez le guide d\'integration n8n pour la mise en place etape par etape. L\'essentiel est de configurer le node HTTP Request avec des donnees multipart et de passer le fichier binaire depuis le node Google Drive.

Pour du contenu avec de l\'IA, il y a meme un modele qui publie automatiquement des videos avec des legendes generees par IA en masse.

Méthode 3 : Automatisation Make.com

Make.com (anciennement Integromat) fonctionne de maniere similaire. Vous creez un scenario avec un declencheur Google Drive ou Dropbox, vous le connectez a un module HTTP configure pour l\'API Upload-Post, et vous le definissez pour s\'executer selon un planning ou quand de nouveaux fichiers sont detectes.

Le module HTTP doit etre regle sur le type de contenu multipart/form-data, avec votre cle API comme en-tete personnalise. Parcourez nos modeles Make.com pour des scenarios preconstruits.

Traitement des vidéos avant upload

Parfois vos videos sources ne sont pas au bon format. Trop longues, mauvais ratio, ou encodees avec un codec que TikTok n\'accepte pas. Au lieu de les traiter localement, vous pouvez utiliser l'FFmpeg Upload-Post editor API pour transformer les videos dans le cloud avant publication.

Par exemple, vous pouvez recadrer une video paysage en format vertical 9:16, la couper a 60 secondes pour YouTube Shorts, ou reencocer en H.264 pour une compatibilite maximale :

curl -X POST https://api.upload-post.com/api/uploadposts/ffmpeg/jobs/upload \
  -H "Autorisation : Apikey votre-clé-api-ici" \
  -F "[email protected]" \
  -F 'full_command=ffmpeg -i {input} -vf "crop=ih*9/16:ih,scale=1080:1920" -c:v libx264 -preset medium -t 60 {output}' \
  -F "output_extension=mp4"

L\'API FFmpeg is included in all plans (30 minutes free per month on the free plan, up to\'a 10 000 minutes sur le plan Business).

Suivi de vos téléchargements en masse

Quand vous uploadez des dizaines de videos, vous devez suivre ce qui passe et ce qui echoue. Il y a deux manieres :

Interroger l\'endpoint de statut

curl https://api.upload-post.com/api/uploadposts/status?request_id=abc123 \
  -H "Autorisation : Apikey votre-clé-api-ici"

La reponse inclut les compteurs completed et total pour voir la progression en temps reel.

Configurer des webhooks

Pour une approche passive, configurez une URL de webhook et Upload-Post enverra une notification a votre serveur chaque fois qu\'un upload de plateforme est termine. Chaque notification inclut la plateforme, l\'URL du post et le statut succes/erreur.

Historique des téléchargements

Vous pouvez aussi revoir tout ce qui a ete uploade avec l\'endpoint d\'historique :

curl "https://api.upload-post.com/api/uploadposts/history?page=1&limit=50" \
  -H "Autorisation : Apikey votre-clé-api-ici"

Chaque entree montre la plateforme, l\'horodatage, le statut de succes, l\'URL du post, la taille du fichier et les eventuels messages d\'erreur. C\'est ideal pour construire des rapports ou auditer vos uploads.

Tips for large-scale bulk uploads

  • Utilisez toujours async_upload=true pour les operations en lot. Les uploads synchrones fonctionnent bien pour les posts individuels, mais vous ne voulez pas attendre que 10 plateformes finissent le traitement avant d\'envoyer le fichier suivant.
  • Utilisez la file d\'attente plutôt que des dates fixes. sauf si vous avez des exigences de timing specifiques. La file d\'attente distribue le contenu de maniere equilibree et respecte les limites quotidiennes des plateformes.
  • Surveillez les limites quotidiennes. TikTok autorise 15 uploads par jour par compte, YouTube 10. Si vous mettez en file d\'attente 50 videos TikTok, elles seront reparties sur plusieurs jours automatiquement.
  • Nommez vos fichiers de manière descriptive. Si vous utilisez le nom de fichier comme titre du post (comme les scripts ci-dessus), "collection-ete-lookbook.mp4" rend beaucoup mieux que "VID_20250615_001.mp4".
  • Utilisez des titres spécifiques par plateforme. quand les legendes doivent differer. Definissez tiktok_title pour une legende plus courte et youtube_description pour une plus longue avec des mots-cles SEO.

Questions fréquentes

Y a-t-il une limite au nombre de vidéos que je peux uploader en une fois ?

Il n\'y a pas de limite stricte sur le nombre de requetes API que vous pouvez envoyer. Cependant, chaque plateforme a des limites quotidiennes (15 pour TikTok, 10 pour YouTube, etc.). Le systeme de file d\'attente gere ca automatiquement en repartissant les posts sur plusieurs jours.

Puis-je uploader des vidéos depuis une URL au lieu d\'un fichier local ?

Oui. Au lieu de passer un fichier avec -F "[email protected]", vous pouvez passer une URL publique comme parametre video. Upload-Post la telechargera et la traitera pour vous.

Quelle est la taille maximale du fichier ?

Ca depend de la plateforme. YouTube accepte jusqu\'a 256 Go, TikTok jusqu\'a 4 Go, et Instagram jusqu\'a 300 Mo. Consultez la page des specifications video pour le detail complet.

Uploadez toutes vos vidéos d\'un coup.

Arretez de passer des heures sur des uploads manuels. Regroupez votre contenu, envoyez-le a l\'API, et laissez la file d\'attente faire le reste. La mise en place prend 5 minutes.

Pas de carte bancaire requise. 10 uploads gratuits inclus.