Tarifs+7% bonus
Michael Johnson2026-07-16

Comment j’ai transformé une photo de produit en 10 publicités UGC avec Seedream 5.0 Pro + Seedance 2.0

Transformez une photo de produit en 10 publicités UGC natives pour environ 25 $. Workflow API Seedream 5.0 Pro + Seedance 2.0 expliqué pas à pas, avec Python et cURL exécutables.

Comment j’ai transformé une photo de produit en 10 publicités UGC avec Seedream 5.0 Pro + Seedance 2.0

J’avais une seule photo de produit — un flacon de sérum noir mat sur fond blanc uni — et j’avais besoin de dix publicités UGC capables d’arrêter le défilement pour un test TikTok avant la fin de la semaine. Filmer dix créateurs aurait coûté entre 1 500 et 3 000 $ et pris environ une semaine. Je l’ai fait en une après-midi pour environ $25 d’appels API, et chaque clip conservait exactement le même flacon à l’écran.

Le pipeline enchaîne deux modèles ByteDance : Seedream 5.0 Pro transforme la photo du produit en visuel héros soigné, puis Seedance 2.0 anime ce visuel en vidéo avec audio natif. J’écris cet article parce que presque tous les guides « Seedance UGC » que j’ai trouvés passent par un espace de test web et s’arrêtent là — aucun ne montre la partie qui permet réellement de passer à l’échelle : la chaîne API à deux modèles, en code, qui produit dix variantes à partir d’une seule photo source. Tout ce qui suit s’exécute avec GPTProto, qui héberge les deux modèles avec une seule clé et un seul solde : vous n’avez donc pas à jongler entre deux fournisseurs au milieu du pipeline.

Table des matières

Pourquoi utiliser deux modèles plutôt qu’un seul

Seedance 2.0 peut générer une vidéo directement à partir d’un texte, alors pourquoi créer d’abord une image ? Parce que les performances d’une publicité dépendent de la précision du produit, et qu’un prompt textuel ne peut pas reproduire de manière fiable votre véritable flacon, son étiquette et son emballage. La solution consiste à intégrer d’abord le vrai produit dans un visuel fixe, puis à animer exactement ce visuel.

Seedream 5.0 Pro constitue la partie image. C’est un modèle de génération et de retouche d’images qui planifie la mise en page avant le rendu, écrit du texte intégré à l’image dans 14 langues avec des formes de lettres correctes et accepte jusqu’à 10 images de référence, afin de considérer votre véritable emballage comme la référence absolue. Seedance 2.0 constitue la partie vidéo — le modèle ByteDance de conversion texte/image/référence en vidéo, qui génère un audio synchronisé lors du même passage au lieu d’ajouter une voix off ensuite (l’architecture et l’affirmation concernant l’audio natif sont présentées dans l’article arXiv). Seul le mode conversion de référence en vidéo de Seedance 2.0 vous permet de lui fournir le visuel Seedream et de lui dire : « conservez ce produit et construisez une scène autour de lui ».

Une photo en entrée, dix vidéos en sortie, avec un produit cohérent dans chacune. C’est toute l’idée.

La chaîne à deux modèles : Seedream 5.0 Pro crée le visuel fixe, Seedance 2.0 l’anime.

Le calcul des coûts qui permet de décider si l’opération en vaut la peine

J’ai d’abord mis les chiffres côte à côte, car c’est ce qui justifie réellement la création du pipeline.

Dix publicités verticales terminées de 15 s Ce workflow (API) Dix vidéos de créateurs humains
Visuel héros $0.081 (un visuel Seedream 2K, réutilisé) inclus par tournage
10 vidéos ~$24.95 (10 × 720p, 15 s avec Seedance) —
Total pour 10 publicités ≈ $25 $1,500–3,000
Droits d’utilisation publicitaire inclus +25–30%
Délai de production une après-midi ~une semaine

Cela revient à environ $2.58 par publicité terminée de 15 secondes. Les prix proviennent des pages GPT Proto consacrées à Seedream 5.0 Pro et à Seedance 2.0 (10 % sous les tarifs publics de ByteDance) ; la fourchette appliquée aux créateurs humains vient des enquêtes sur les tarifs UGC de 2026. Mon analyse — et il s’agit d’un jugement, pas d’une affirmation mesurée — est que l’argent n’est même pas le principal avantage. Le vrai gain, c’est que la variation devient gratuite : faites passer une photo de produit dans dix prompts et obtenez dix angles à tester en A/B au lieu d’un seul.

Ce dont vous avez besoin

Un compte GPT Proto avec une clé API (inscription par e-mail, sans vérification téléphonique ou professionnelle), Python 3 avec requests, une photo de produit hébergée à une URL publique et environ 30 $ de solde pour exécuter plusieurs fois le lot complet de dix publicités. Récupérez la clé dans votre tableau de bord — elle ressemble à sk-... — puis collez-la telle quelle comme valeur de l’en-tête Authorization, exactement comme indiqué dans la documentation, sans préfixe Bearer.

Étape 1 — Transformer la photo du produit en visuel héros

Les deux modèles sont asynchrones : vous envoyez une tâche en POST, récupérez un id de prédiction, puis interrogez GET /api/v3/predictions/{id}/result jusqu’à ce que le status soit succeeded. Voici un petit outil d’interrogation que nous réutiliserons pour les deux étapes.

import requests, json, time

API_KEY = "sk-xxxxx"                     # paste your key directly, no "Bearer"
HEADERS = {"Authorization": API_KEY, "Content-Type": "application/json"}
BASE = "https://gptproto.com/api/v3"

def submit(path, payload):
    r = requests.post(f"{BASE}/{path}", headers=HEADERS, data=json.dumps(payload))
    r.raise_for_status()
    return r.json()["data"]["id"]

def wait(pred_id, every=5, timeout=600):
    deadline = time.time() + timeout
    while time.time() < deadline:
        r = requests.get(f"{BASE}/predictions/{pred_id}/result", headers=HEADERS)
        data = r.json()["data"]
        if data["status"] == "succeeded":
            return data["outputs"][0]
        if data["status"] in ("failed", "expired"):
            raise RuntimeError(f"job {data['status']}: {data.get('error')}")
        time.sleep(every)
    raise TimeoutError("polling timed out")

Prenez maintenant l’unique photo du produit et placez-la dans une scène avec la tâche image-edit. Rédigez-la comme un brief de conception, pas comme une légende : placez d’abord les règles de composition et les adjectifs de style à la fin, et nommez directement la lumière, car c’est de là que vient le réalisme de Seedream. Limitez-vous à environ 30 à 80 mots et utilisez une taille portrait 2K afin que le visuel corresponde à une image vidéo au format 9:16.

product_photo = "https://your-cdn.com/serum-bottle.png"   # the one photo you start with

edit_prompt = (
    "Place this matte-black serum bottle on a wet bathroom counter, "
    "soft window light from the left, water droplets on the glass, "
    "shallow depth of field, photoreal product photography, keep the label exactly as shown"
)

img_id = submit(
    "bytedance/dola-seedream-5-0-pro-260628/image-edit",
    {"prompt": edit_prompt, "images": [product_photo], "size": "1600*2848"},
)
hero_image_url = wait(img_id)["url"]   # feed this into Seedance next
print(hero_image_url)

Le même appel en cURL, si vous commencez par tester depuis le terminal :

curl --location 'https://gptproto.com/api/v3/bytedance/dola-seedream-5-0-pro-260628/image-edit' \
  --header 'Authorization: sk-xxxxx' \
  --header 'Content-Type: application/json' \
  --data '{"prompt":"Place this matte-black serum bottle...","images":["https://your-cdn.com/serum-bottle.png"],"size":"1600*2848"}'

Notez que le format size utilise un astérisque (1600*2848), et non un x. Une image 2K coûte 0,081 $ ; la même image en 1K (832*1248) revient à 0,0405 $ si vous réalisez des tests de concepts jetables. La première image de référence est gratuite ; les références supplémentaires coûtent 0,0027 $ chacune, dans la limite de 10.


Étape 1 : le même flacon, déplacé d’une photo de studio simple vers une scène prête pour l’UGC.

Étape 2 — Rédiger le prompt UGC (c’est ici que la plupart des publicités échouent)

Un prompt publicitaire Seedance est un brief de tournage, pas une description, car le modèle crée l’image et le son en un seul passage. Structurez-le en quatre couches : le sujet et la scène (décrivez le créateur ou le produit avec au moins trois détails visuels concrets), l’accroche dans les 0 à 3 premières secondes, le moment consacré au produit entre 4 et 10 secondes, puis une image de clôture nette. Placez les répliques prononcées entre guillemets doubles et gardez-les courtes — les longs monologues nuisent à la synchronisation labiale.

Le piège que presque tout le monde rencontre est le sur-polissage. On est tenté de demander un éclairage cinématographique et un mouvement de caméra spectaculaire ; dans un fil UGC, cela paraît artificiel. Un clip crédible doit ressembler à quelque chose qu’une vraie personne aurait pu filmer dans sa salle de bains avec un téléphone — caméra légèrement tremblante, lumière naturelle d’une fenêtre, aucun aspect studio. N’entassez pas non plus deux idées dans un même prompt : un format par génération.


Les quatre couches indispensables à tout prompt UGC Seedance 2.0.

Étape 3 — Animer le visuel héros avec Seedance 2.0

C’est l’étape que les guides des espaces de test passent sous silence. Utilisez reference-to-video et transmettez l’URL Seedream dans images — c’est ce qui maintient votre produit exact à l’écran. Faites correspondre duration au minutage indiqué dans le prompt, définissez 9:16 pour TikTok et Reels, et laissez generate_audio activé afin que le dialogue soit rendu nativement.

video_prompt = (
    "UGC-style phone video, vertical, a woman in her late twenties in a bright bathroom "
    "holding the serum bottle to camera with easy creator energy, slightly handheld, "
    "natural window light. She says: \"Okay this one actually cleared my skin in a week.\" "
    "Cut to a macro close-up of the dropper. Ends on the bottle held up, label facing camera."
)

vid_id = submit(
    "bytedance/dreamina-seedance-2-0-260128/reference-to-video",
    {
        "prompt": video_prompt,
        "images": [hero_image_url],   # product consistency comes from here
        "aspect_ratio": "9:16",
        "duration": 15,
        "resolution": "720p",
        "generate_audio": True,
        "seed": -1,
    },
)
print(wait(vid_id, every=10)["url"])   # video takes longer -- poll less often
curl --location 'https://gptproto.com/api/v3/bytedance/dreamina-seedance-2-0-260128/reference-to-video' \
  --header 'Authorization: sk-xxxxx' \
  --header 'Content-Type: application/json' \
  --data '{"prompt":"UGC-style phone video...","images":["HERO_IMAGE_URL"],"aspect_ratio":"9:16","duration":15,"resolution":"720p","generate_audio":true}'

Si vous préférez animer une seule image de départ sans le système complet de références, image-to-video utilise un seul champ image au lieu du tableau images et fonctionne de la même manière pour le reste.

Étape 4 — Générer les dix variantes en lot

Voici l’avantage de procéder par code : dix angles demandent le même effort qu’un seul. Répétez l’appel vidéo avec dix prompts différents en utilisant le même visuel héros, envoyez-les tous, puis récupérez les URL.

angles = [
    "...opens on a splash of water, energetic hook, 'wait for it'...",
    "...opens mid-sentence, skeptical creator tone, 'I did not expect this'...",
    "...opens on the product already in hand, calm morning-routine demo...",
    "...street-style, walking and talking, quick to-camera line...",
    "...close friend recommendation, sitting on the bathroom floor...",
    # ...ten total, one format each
]

jobs = [
    submit("bytedance/dreamina-seedance-2-0-260128/reference-to-video",
           {"prompt": p, "images": [hero_image_url], "aspect_ratio": "9:16",
            "duration": 15, "resolution": "720p", "generate_audio": True})
    for p in angles
]
clips = [wait(j, every=10)["url"] for j in jobs]
for i, url in enumerate(clips, 1):
    print(f"ad {i}: {url}")

 


Un visuel héros, dix angles publicitaires — le lot de l’étape 4.

Spécifications de sortie et tarifs de Seedance 2.0

Résolution Format Durée Prix / exécution
480p 16:9 4s $0.3094
720p 16:9 15s $2.4948
1080p 16:9 15s $6.1746
4K 16:9 15s $12.83

Les résolutions disponibles sont 480p/720p/1080p/4K, pour des durées de 4 à 15 secondes et six formats d’image (9:16, 1:1, 16:9, 4:3, 3:4, 21:9). En 720p, le format 16:9 produit une image de 1280×720, tandis que le 1080p produit 1920×1088. Pour les réseaux sociaux payants, je resterais en 720p 9:16 : c’est le meilleur compromis en matière de coût, et la compression des fils d’actualité efface de toute façon la majeure partie de la différence avec le 1080p. Les tableaux complets figurent sur la page du modèle Seedance 2.0 et la page du modèle.

Les erreurs qui posent réellement problème

Le décalage de durée est discret : si votre prompt est conçu pour 15 secondes mais que vous laissez duration sur sa valeur par défaut de 5, le modèle accélère ou tronque la scène. Faites-les correspondre. Une erreur 503 de l’API signifie un rejet lié à la politique de contenu (elle est renvoyée comme une erreur 400) — reformulez et renvoyez la requête au lieu de réessayer aveuglément. Une erreur 403 indique généralement un solde insuffisant, et non une mauvaise clé. Et si un clip ressemble à une publicité de luxe, ce n’est pas une réussite pour un placement UGC : rendez le prompt plus naturel, comme s’il était « filmé au téléphone ».

Avant la mise en ligne

Considérez chaque résultat comme une ébauche publicitaire, et non comme une création terminée. Vérifiez les affirmations concernant le produit, les droits d’image de la photo importée, la politique publicitaire de la plateforme et les règles de divulgation de l’utilisation de l’IA applicables dans votre marché avant d’investir dans un clip. L’IA supprime les coûts de production, pas la responsabilité concernant le contenu de la publicité.

 


Toutes les images de cet article — la couverture et les quatre illustrations — ont été générées avec Seedream 5.0 Pro pour environ 0,24 $ au total. Même workflow, même clé.

Studio créatif

Générez images, vidéos et plus avec les API de production.

Commencer à créer
Studio créatif
Modèles associés
Tous les modèles
Bytedance
10% OFF
Bytedance
10% UP
OpenAI
20% OFF
Claude
10% OFF

FAQ

Combien coûte une publicité UGC générée par IA ?

Environ 2,58 $ par clip terminé de 15 secondes : une image héros 2K (0,081 $, réutilisée pour tout le lot) plus une vidéo 720p de 15 secondes (environ 2,49 $). Dix publicités reviennent à près de 25 $, contre 1 500 à 3 000 $ pour dix vidéos réalisées par des créateurs humains de gamme intermédiaire.

Existe-t-il une offre gratuite ?

Non, le service est facturé à l’utilisation, mais une image conceptuelle 1K coûte 0,0405 $ et un clip de test 480p de 4 secondes coûte 0,31 $, ce qui rend les itérations peu coûteuses.

Puis-je utiliser ma propre photo de produit ?

Oui : c’est précisément le point de départ de ce workflow. Transmettez-la dans le tableau images de la tâche image-edit de Seedream pour obtenir un visuel héros fidèle, puis transmettez ce visuel dans images de Seedance (reference-to-video) afin de conserver le véritable produit à l’écran dans toutes les variantes.

Quelle est la différence entre les deux API ?

Seedream 5.0 Pro génère et retouche des images ; Seedance 2.0 les transforme en vidéos avec audio natif. Une seule clé GPTProto permet d’appeler les deux modèles — consultez les tarifs pour connaître la grille complète.

Articles associés

Plus de blogs
Guide des prompts Seedream 5.0 Pro : ne demandez plus des retouches comme s’il s’agissait de nouvelles images

Guide des prompts Seedream 5.0 Pro : ne demandez plus des retouches comme s’il s’agissait de nouvelles images

A Seedream 5.0 Pro prompt should do one of two jobs. It should either describe the entire image you want to generate, or identify the exact change you want to make to an existing image. Mixing those jobs is why a simple background edit can unexpectedly change the face, lighting, or product shape. The practical rule is short: describe the whole frame for generation; describe the target, change, and protected details for editing. The 17 copy-ready prompts below apply that rule to realistic portraits, product photography, retouching, background replacement, multilingual posters, and multi-reference work.

Tiffany Layne | 2026-07-24

Seedance 2.5 est-il déjà disponible ? Date de sortie et ce que nous savons réellement (2026)

Seedance 2.5 est-il déjà disponible ? Date de sortie et ce que nous savons réellement (2026)

J'ai actualisé la page Seed de ByteDance plus de fois que je ne voudrais l'admettre cette semaine, en attendant de voir apparaître Seedance 2.5. Pour l'instant, rien. Pas de page consacrée au modèle, pas de fiche technique, pas de date. C'est précisément pour cela que cet article existe : de nombreux contenus très affirmatifs sur Seedance 2.5 circulent actuellement, et la plupart présentent des suppositions comme des faits. Je veux clairement distinguer les deux, puis vous orienter vers ce que vous pouvez réellement utiliser aujourd'hui.

Tiffany Layne | 2026-06-23

Comment utiliser Kling 3.0 Motion Control : guide du développeur (Web + API)

Comment utiliser Kling 3.0 Motion Control : guide du développeur (Web + API)

Kling 3.0 Motion Control anime l’image statique d’un personnage en lui appliquant les mouvements d’une vidéo de référence. Vous lui fournissez deux entrées — une image de votre personnage et une vidéo d’une personne en mouvement — et il renvoie un nouveau clip dans lequel votre personnage exécute exactement la même chorégraphie, tout en conservant son propre visage, sa tenue et son apparence. Il s’agit d’un transfert de mouvement, et non de texte vers mouvement. Au lieu de décrire une action dans un prompt en espérant que le modèle l’interprète correctement, vous lui montrez l’action image par image. Le résultat est ainsi bien plus fiable pour l’animation répétable de personnages, la danse et les gestes. Ce guide couvre les deux possibilités : l’application web Kling pour les clips ponctuels et l’API GPTProto pour intégrer Motion Control à un pipeline. Nous aborderons les entrées et les limites, les niveaux `pro` et `std`, les techniques de prompt, du code complet exécutable, les tarifs et les problèmes à connaître avant de dépenser vos crédits.

Michael Johnson | 2026-06-30

Comment créer un influenceur généré par IA avec une API (et ce que coûte réellement son fonctionnement)

Comment créer un influenceur généré par IA avec une API (et ce que coûte réellement son fonctionnement)

L'influenceur IA de la plupart des gens échoue dès la deuxième image. Le premier rendu est superbe — un visage crédible, un éclairage correct. Puis ils génèrent la publication numéro deux et les pommettes ont bougé, le nez est plus large, les yeux sont d'une autre couleur. C'est une autre personne. La publication numéro trois montre une troisième personne. Ce qu'ils ont n'est pas un influenceur ; c'est un dossier rempli d'inconnus qui ont par hasard la même couleur de cheveux. Les outils sans code qui apparaissent en tête des résultats pour cette recherche dissimulent le problème derrière un bouton. Importez une photo, cliquez sur Générer, obtenez un résultat. C'est acceptable jusqu'à ce que vous vouliez passer à l'échelle, modifier le style ou programmer une centaine de publications — vous vous retrouvez alors lié à un seul modèle, un seul style et un abonnement qui coûte généralement entre 19 et 99 $ par mois, que vous génériez 5 images ou 500. Ce guide choisit l'autre voie : l'API. La mise en place demande plus d'efforts qu'un simple clic dans un SaaS — vous écrirez quelques lignes de code et gérerez une clé API. En contrepartie, vous contrôlez le modèle qui rend chaque prise, vous payez par image plutôt que par mois et vous pouvez automatiser l'ensemble du pipeline. À la fin, vous disposerez d'une identité verrouillée, d'un lot de publications cohérentes, d'un reel vertical facultatif et — la partie que tous les autres guides passent sous silence — du coût réel par publication. Pour comprendre pourquoi certains s'y intéressent : Aitana L&oacute;pez, le modèle IA créé par l'agence barcelonaise The Clueless, gagne jusqu'à &euro;10 000 par mois et environ &euro;3 000 en moyenne, selon ses créateurs comme le rapporte Euronews . Retenez ce chiffre. Nous y reviendrons une fois que nous connaîtrons le coût réel de la production, car l'écart entre ces deux montants constitue tout le modèle économique.

Schuyler Stacy | 2026-06-17