Pipeline Claude Code qui génère un batch d'UGC verticaux 9:16 via Seedance pendant la nuit

Automatiser tes ads UGC avec Claude et Seedance

Arrête. Tu passes encore tes soirs à monter du UGC manuel ou à payer 8 $ la vidéo à un créateur sur Fiverr. Pendant ce temps-là, Claude Code peut piloter Seedance via Higgsfield pis te sortir un batch de 9 vidéos pendant que tu dors.

J’ai monté le pipeline pour Taverne AI. 30 minutes de setup, un fichier Python, pis ça tourne tout seul. Le coût réel : environ 60 crédits Higgsfield par UGC de 15 secondes en 720p. Le plan Plus à 1 000 crédits/mois te sort ~16 vidéos par mois en automatique. Concrètement, c’est de quoi nourrir une semaine de tests créatifs sur Meta ou TikTok sans toucher à un éditeur.

Aujourd’hui tu vas voir comment :

  • Brancher Claude Desktop sur des scheduled tasks
  • Configurer Higgsfield + Seedance 2.0 pour la génération batch
  • Bâtir un script qui pige aléatoirement produit + avatar + hook
  • Programmer le pipeline pour rouler la nuit
  • Récupérer tes UGC le matin, prêts à uploader
Diagramme éditorial en cinq étapes : dossier UGC_Refs lu par un script Python orchestré par Claude, envoyé à Higgsfield Seedance 2.0, qui produit des fichiers vidéo verticaux dans Generated_UGC, prêts à publier au matin.
Pipeline nocturne — Claude lit le dossier de références, pige produit + avatar + hook, prompte Seedance 2.0 via Higgsfield, et range les .mp4 verticaux dans Generated_UGC. Tu te lèves, tu publies.

Higgsfield

Hôte Seedance 2.0 — génération UGC vertical 9:16 à partir de 15 $/mois.

Tester Higgsfield →

Ce dont t’as besoin avant de partir

Claude Desktop avec Code activé. La version desktop, pas web. Les scheduled tasks via l’extension Cowork roulent juste sur l’app native.

Page claude.ai/download avec le bouton Download Claude Desktop mis en évidence

Page de téléchargement de Claude Desktop. Capture à venir.

Compte Higgsfield actif. C’est la plateforme qui héberge Seedance 2.0, le moteur de génération UGC vertical. Crée ton compte pis prends ton API key dans Settings > Developer.

Dashboard Higgsfield avec la section Credits remaining et le bouton Try Seedance

Dashboard Higgsfield. Note ton API key avant de fermer l'onglet.

Extension Cowork pour Claude. C’est elle qui ajoute le panel Automation pis les scheduled tasks dans l’app desktop.

Nano Banana Pro (optionnel). Si tu veux des avatars custom ultra-réalistes au lieu de visages génériques. C’est le différentiel entre un UGC qui passe pis un UGC qui scroll-stop.

Critère
M Manuel
C Claude + Seedance
Temps par UGC 1 à 3 h par vidéo30 min de setup, génération auto
Coût par vidéo 6 à 10 $ via créateur~60 crédits (≈ 1 $ sur plan Plus)
Variété Limitée par le créateurLarge via prompts variés
Disponibilité Selon agenda du créateur24/7 tant que t'as des crédits
Révisions Plusieurs jours de délaiRegénère à volonté
Manuel vs pipeline Claude + Seedance, sur la base de 15 UGC par mois.

Le workflow, étape par étape

01

Installer Claude Desktop + Cowork

Télécharge Claude Desktop sur claude.ai/download. Pas la version web — sans la desktop app, les scheduled tasks ne roulent pas.

Une fois installé, va dans les extensions pis cherche “Cowork”. L’extension ajoute un panel Automation qui te permet de programmer des tâches répétitives. C’est elle qui va tirer la gachette du script Python chaque nuit.

Web ne marche pas

La version web de Claude ne supporte pas les scheduled tasks. Desktop obligatoire. Si tu sautes cette étape, le reste du pipeline tombe à l’eau.

02

Créer ton compte Higgsfield

Va sur goto.higgsfield.ai/BnYm2J pis crée ton compte. Choisis un plan selon ton volume cible :

  • Starter (200 crédits/mois) pour goûter
  • Plus (1 000 crédits/mois) pour un rythme régulier — c’est mon défaut
  • Ultra si tu veux passer en mode usine

Côté budget : Seedance 2.0 720p coûte 20 crédits par tranche de 5 secondes. Seedance 2.0 Fast 720p coûte 17 crédits par 5 secondes. Un UGC de 15 secondes = 60 crédits standard ou 51 crédits en Fast.

Dans le dashboard, clique “Try Seedance” pour valider que la génération marche. Pis va dans Settings > Developer copier ton API key — tu en as besoin pour le script.

Maquette au trait de la page Settings › Developer de higgsfield avec champ API Key, bouton Copy en ambre et compteur de crédits dans la barre latérale.
Page Settings › Developer de higgsfield : le champ API Key et le bouton Copy sont mis en évidence, tandis que la jauge de crédits restants reste visible dans la barre latérale.
03

Préparer ton dossier de références

Crée un dossier UGC_Refs sur ton disque avec trois sous-dossiers :

  • /produits — photos haute-rés de tes produits (JPG, PNG)
  • /avatars — photos d’avatars (Nano Banana Pro recommandé)
  • /scripts — fichiers TXT, un par hook ou CTA

Chaque script TXT contient un seul angle (ex : script_avant_apres.txt, script_témoignage_court.txt). Le pipeline va piger aléatoirement dans ces trois dossiers pour combiner produit + avatar + hook à chaque génération.

C’est cette aléatoire-là qui te donne 9 UGC différents à partir des mêmes assets.

Diagramme en arbre du dossier UGC_Refs avec trois sous-dossiers produits, avatars et scripts, et une flèche de tirage aléatoire vers neuf UGC.
L'arbre du dossier <em>UGC_Refs</em> : trois branches (packshots, portraits Nano Banana, scripts d'angle), un tirage aléatoire en bas — neuf UGC distincts à partir des mêmes assets.
04

Configurer le scheduled task

Dans Claude Desktop, ouvre le panel Cowork > Scheduled Tasks. Clique “New Task” pis configure :

  • Nom : UGC Batch Generator
  • Fréquence : Daily à 2h00 AM (ou autre fenêtre creuse pour éviter la rate limit)
  • Trigger : File watcher sur le dossier /produits
  • Action : Execute Python script

Le file watcher est la clé. Tu drop un nouveau produit dans /produits cet aprèm, le batch part la nuit prochaine sans que tu touches à rien.

05

Coller le script Python

Voici le code que Cowork va exécuter. Colle-le dans l’action du scheduled task. Remplace l’API key avant de sauvegarder.

Pipeline Python — Higgsfield + Seedance

import os
import time
import requests
from datetime import datetime
import random

# Configuration Higgsfield
HIGGSFIELD_API_KEY = "ton-api-key-ici"
SEEDANCE_ENDPOINT = "https://api.higgsfield.ai/v2/seedance/generate"

# Dossiers
PRODUITS_DIR = "./UGC_Refs/produits"
AVATARS_DIR = "./UGC_Refs/avatars"
SCRIPTS_DIR = "./UGC_Refs/scripts"
OUTPUT_DIR = "./Generated_UGC"

def load_scripts():
  scripts = []
  for filename in os.listdir(SCRIPTS_DIR):
      if filename.endswith('.txt'):
          with open(os.path.join(SCRIPTS_DIR, filename), 'r', encoding='utf-8') as f:
              scripts.append({'nom': filename.replace('.txt', ''), 'contenu': f.read().strip()})
  return scripts

def generate_ugc_batch():
  produits = [f for f in os.listdir(PRODUITS_DIR) if f.lower().endswith(('.jpg', '.png', '.jpeg'))]
  avatars = [f for f in os.listdir(AVATARS_DIR) if f.lower().endswith(('.jpg', '.png', '.jpeg'))]
  scripts = load_scripts()

  generated_count = 0

  for produit in produits:
      # 3 variantes par produit pour rester dans le budget mensuel
      for i in range(3):
          avatar = random.choice(avatars)
          script = random.choice(scripts)

          payload = {
              "format": "9:16",
              "duration": random.randint(15, 20),
              "avatar_image": os.path.join(AVATARS_DIR, avatar),
              "product_image": os.path.join(PRODUITS_DIR, produit),
              "script": script['contenu'],
              "style": "ugc_authentic",
              "voice_tone": random.choice(["enthusiastic", "friendly", "confident"]),
              "background": "product_focused"
          }

          headers = {
              "Authorization": f"Bearer {HIGGSFIELD_API_KEY}",
              "Content-Type": "application/json"
          }

          response = requests.post(SEEDANCE_ENDPOINT, json=payload, headers=headers)

          if response.status_code == 200:
              video_url = response.json()['video_url']
              video_response = requests.get(video_url)
              filename = f"{produit.split('.')[0]}_ugc_{i+1}_{datetime.now().strftime('%Y%m%d_%H%M')}.mp4"
              with open(os.path.join(OUTPUT_DIR, filename), 'wb') as f:
                  f.write(video_response.content)
              generated_count += 1
              print(f"OK {filename}")
          else:
              print(f"Erreur API : {response.status_code}")

          time.sleep(2)

  print(f"Batch terminé : {generated_count} vidéos UGC générées")

if __name__ == "__main__":
  os.makedirs(OUTPUT_DIR, exist_ok=True)
  generate_ugc_batch()

Ce code scan tes trois dossiers, combine aléatoirement produit + avatar + script, pis appelle Seedance pour chaque rendu. Le time.sleep(2) entre les appels te garde sous la rate limit du plan Plus.

API key

Remplace "ton-api-key-ici" par ta vraie clé Higgsfield avant de sauvegarder. Pis garde le fichier hors de Git si tu commit ton code ailleurs.

06

Test manuel avant l'automation

Avant d’activer le scheduled task, lance le script à la main. Dans Claude Desktop, colle le code dans une cellule Cowork pis clique “Execute”.

Tu devrais voir les logs OK produit_ugc_1... défiler. Les vidéos apparaissent dans /Generated_UGC au fur et à mesure.

Si une vidéo échoue, c’est presque toujours :

  • API key mal copiée
  • Crédits à zéro sur Higgsfield
  • Image source corrompue ou trop lourde

Une fois que t’as 3-5 vidéos générées sans erreur, active le task.

Critère
S Spec
N Note
Format de sortie MP4 vertical 9:16Optimal TikTok / Reels / Shorts
Durée par vidéo 15 à 30 secondesReste sous 20s pour le ROI
Seedance 2.0 720p 20 crédits / 5sStandard
Seedance 2.0 Fast 720p 17 crédits / 5sPlus rapide, légèrement moins poli
Crédits par UGC 15s 60 (standard) ou 51 (Fast)Sur plan Plus 1 000 cr.
Rate limit Variable selon plan`time.sleep(2)` est un buffer
Spécifications Seedance 2.0 vérifiées le 4 mai 2026.

Le hic

Soyons clairs : ce pipeline-là est solide, mais il a des trous. Trois semaines à le rouler sur Taverne AI m’ont sorti quatre frustrations qu’aucun thread Twitter ne mentionne.

La latence de Seedance varie en maudit. Sur des prompts simples (un produit clair sur fond uni), un rendu de 15s prend 45-90 secondes. Sur des prompts plus chargés (avatar + produit + scène texturée), j’ai vu des rendus dépasser 2 minutes. Si tu lances 30 vidéos d’affilée, prévois que ton batch peut prendre 1h au lieu de 30 minutes. Le sleep(2) du code aide pas — c’est le moteur Seedance lui-même qui rame sur certains prompts.

La qualité humaine est inégale. Sur les scènes ou les objets, Seedance livre du solide. Sur les visages, ça reste un dé. Tu vas avoir un avatar qui marche bien sur 6 vidéos sur 9, pis 3 qui sortent avec des yeux glitchés ou une bouche qui synchro mal. Pour l’instant, ça m’oblige à filtrer le batch le matin pis jeter ~20-30 % des outputs. Faque tes 9 vidéos automatiques, c’est plutôt 6-7 utilisables.

Le drift entre crédits identiques. Le même prompt envoyé 3 fois ne sort pas 3 vidéos identiques. C’est voulu (variation créative), mais ça veut aussi dire que tu peux pas A/B test une variable précise. Si tu changes le hook, tu changes aussi 10 autres trucs en arrière-plan que t’as pas demandés. Anyway, faque l’analyse de performance reste bruyante.

Le coût monte vite si tu pousses. Le plan Plus à ~25 $/mois (1 000 crédits) couvre ~16 UGC standards. Si tu veux 20 UGC par jour pour scaler, t’es rendu sur Ultra à plusieurs centaines de dollars/mois. Ben honnêtement, à ce volume-là, embaucher un éditeur UGC à temps partiel revient parfois moins cher.

Ah pis : Higgsfield n’a pas d’API publique super stable au moment d’écrire (4 mai 2026). L’endpoint que j’utilise dans le code marche, mais le dashboard officiel pousse les utilisateurs vers le générateur web. Si t’as un problème d’API, tu vas avoir de la misère à trouver de la doc à jour.

Quelques trucs bons à savoir

  • Plan Plus = ~16 UGC/mois standard, ~19 en Fast. Passe à Ultra si tu vises plus de volume.
  • Seedance Fast vs Standard : Fast est plus rapide pis moins cher, qualité 90 % aussi bonne. Pour tester un nouveau hook, va Fast. Pour finaliser un winner, va Standard.
  • Scripts courts gagnent : 15-20 secondes max. Au-delà, l’engagement chute pis le coût explose.
  • Webhook Slack : ajoute un POST vers ton webhook à la fin du batch — t’es averti le matin avant même d’ouvrir le dossier.
  • Stockage : un MP4 9:16 de 15s pèse 10-20 MB. 16 vidéos/mois = 200-300 MB. Vise un drive séparé si tu cumules plusieurs mois.

Verdict

Ce pipeline vaut le setup si tu produis du UGC en continu pour Meta, TikTok ou Shorts pis que tu veux arrêter de payer 8 $ par vidéo à un créateur. 30 minutes pour le monter, ~25 $/mois pour le rouler, pis ça crache 6-7 UGC utilisables par batch (sur 9 générés).

Pour qui ça marche :

  • Opérateur e-com qui pousse 3-5 produits en parallèle
  • Marketeur SaaS qui teste plusieurs hooks par semaine
  • Agence qui livre du UGC à plusieurs clients

Pour qui ça marche pas :

  • Volume haut (>20 UGC/jour) — Ultra coûte plus cher qu’un éditeur à temps partiel
  • Visages exigeants — si ton brand demande un avatar parfait à chaque shot, tu vas pleurer
  • Compliance lourde (santé, finance) — les variations aléatoires de Seedance ne passeront pas un audit légal

C’est tout. Tu pars ton batch ce soir, demain matin t’as 9 ads.

Higgsfield

La plateforme qui héberge Seedance 2.0. Plan Plus à partir de ~25 $/mois.

Créer mon compte →

Questions fréquentes

Combien ça coûte vraiment par UGC?
Sur le plan Plus de Higgsfield (~25 $/mois pour 1 000 crédits), un UGC de 15 secondes en Seedance 2.0 720p te coûte 60 crédits, soit environ 1,50 $ en coût marginal. En Fast 720p, c'est 51 crédits (~1,30 $). Le break-even vs un créateur Fiverr (8 $/vidéo) tombe au 4e UGC du mois.
Faut-il un compte API payant pour utiliser Seedance?
Oui. Higgsfield n'offre pas de tier gratuit avec accès API. Tu dois minimum être sur Starter (200 crédits/mois). L'API key se trouve dans Settings > Developer une fois ton plan actif.
La qualité des UGC générés est-elle vraiment utilisable en ad?
Oui pour 70-80 % des outputs, sur la base de mes 3 semaines de tests. Les scènes et les objets sortent solides. Les visages sont inégaux — prévois de filtrer ~20-30 % du batch. Si tu pousses sur Meta ou TikTok, ce niveau de qualité passe sans problème pour des tests créatifs.
Est-ce que ça remplace un vrai créateur UGC?
Pas complètement. Pour des hooks créatifs sortis du brain d'un humain, un créateur reste meilleur. Le pipeline est utile pour itérer rapidement sur des variantes (mêmes 3 hooks × 5 produits = 15 vidéos en une nuit). Pour ton hero ad, garde un créateur. Pour ton volume de tests, va automatique.
Pourquoi Claude Desktop et pas l'API Anthropic directement?
Claude Desktop avec l'extension Cowork donne accès aux scheduled tasks et au file watcher gratuitement, sans serveur à déployer. Tu peux aussi orchestrer ce pipeline via l'API Anthropic + un cron job, mais ça implique plus de plomberie. Pour un setup en 30 minutes, Claude Desktop est plus rapide.

On continue à la Taverne ?

Un courriel par semaine. Pas de fluff.

En t'abonnant, tu reçois Le Tour de Table chaque semaine. Tu peux te désabonner en un clic. Voir notre politique de confidentialité.

Texte par David Cyr