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
Higgsfield
Hôte Seedance 2.0 — génération UGC vertical 9:16 à partir de 15 $/mois.
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 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. 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éo | 30 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éateur | Large via prompts variés |
| Disponibilité | Selon agenda du créateur | 24/7 tant que t'as des crédits |
| Révisions | Plusieurs jours de délai | Regénère à volonté |
Le workflow, étape par étape
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.
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.
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.
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.
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.
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:16 | Optimal TikTok / Reels / Shorts |
| Durée par vidéo | 15 à 30 secondes | Reste sous 20s pour le ROI |
| Seedance 2.0 720p | 20 crédits / 5s | Standard |
| Seedance 2.0 Fast 720p | 17 crédits / 5s | Plus 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 |
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.
Questions fréquentes
Combien ça coûte vraiment par UGC?
Faut-il un compte API payant pour utiliser Seedance?
La qualité des UGC générés est-elle vraiment utilisable en ad?
Est-ce que ça remplace un vrai créateur UGC?
Pourquoi Claude Desktop et pas l'API Anthropic directement?
Check tes courriels.
Lien à cliquer pour confirmer ton abonnement.
Texte par David Cyr
