HiAPI
Blog

Guide d'utilisation

Générer des visuels produits e-commerce avec seedream-4.5/text-to-image via l'API hiapi

Aug 7, 2026
Générer des visuels produits e-commerce avec seedream-4.5/text-to-image via l'API hiapi

Tous les visuels produits ne partent pas d'une photo. Avant que l'échantillon existe, avant de planifier un photographe, ou lorsqu'une promotion saisonnière exige une bannière pour demain matin, vous devez générer une image à partir d'une simple description textuelle — un rendu produit propre, une scène de vie, un visuel promotionnel avec un titre net et lisible intégré à l'image.

seedream-4.5/text-to-image est conçu exactement pour ce cas d'usage sans exemple. Donnez-lui une description en langage naturel, et il renvoie une image photoréaliste, sans aucune photo de référence — y compris un texte intégré précis, le point sur lequel la plupart des modèles texte-vers-image échouent encore. Sur hiapi, il s'exécute via le même endpoint asynchrone /v1/tasks que tous les autres modèles, au prix de 0,045 $ par image, en résolution 2K ou 4K.

Les deux exemples ci-dessous sont de véritables appels API, avec leurs prompts exacts et les images générées — sans aucune retouche.

Génération sans exemple vs édition de photos réelles

seedream-4.5 est publié sous la forme de deux modèles aux missions distinctes :

  • seedream-4.5/text-to-image (sujet de cet article) génère des images à partir d'une description, sans photo d'entrée. Utilisez-le lorsque le produit n'a pas encore de photo de référence propre, lorsque vous avez besoin d'une scène ou d'un concept qui n'existe pas dans votre catalogue, ou lorsque le livrable est une création marketing plutôt que la photo d'un produit physique précis.
  • seedream-4.5/image-to-image édite une vraie photo produit que vous possédez, en conservant sa forme exacte et son identité de marque, tout en changeant l'arrière-plan ou le contexte — pour ce workflow, consultez le guide e-commerce image-vers-image.

Si vous devez rester pixel-perfect par rapport à un SKU physique, utilisez le modèle d'édition. Si vous créez quelque chose de nouveau — un rendu conceptuel, une bannière saisonnière, une scène qui n'existe pas encore — le texte-vers-image est l'outil approprié, et c'est ce que couvre cet article.

Exemple 1 : une photo produit de studio générée à partir de texte

Prompt envoyé au modèle :

a minimalist amber glass skincare serum bottle with a brushed silver cap
standing on a polished travertine surface, soft diffused window light
casting a gentle gradient shadow, sage green linen backdrop, one small
dried eucalyptus sprig beside the bottle, e-commerce product photography,
sharp focus, clean composition, no text, no logo, subtle reflection on
the stone surface

Paramètres de la requête : aspect_ratio: "1:1", resolution: "2K".

Ici, pas de flacon, pas de studio, pas de photographe — l'atténuation de l'ombre, le reflet sur la pierre et la lumière douce de la fenêtre proviennent entièrement de la description. C'est là l'avantage du texte-vers-image par rapport à l'édition : produire le rendu d'une fiche produit ou un moodboard pour un produit encore en développement en une minute environ, sans planifier de shooting.

Exemple 2 : un visuel promotionnel avec un titre net et lisible

Le rendu de texte est la moitié la plus difficile de la tâche pour ce modèle — la plupart des générateurs d'images produisent du texte illisible ou mal orthographié. Deux prompts, sans aucune nouvelle tentative :

Bannière promotionnelle à plat :

a flat-lay e-commerce marketing banner for a summer skincare sale, an
arrangement of amber glass bottles and dried botanicals on a warm
terracotta background, bold sans-serif headline text 'SUMMER GLOW SALE'
near the top in cream white lettering, smaller text 'Up to 30% Off'
beneath it in matching cream, clean modern layout with generous negative
space on the right third, professional marketing design, crisp legible
typography, warm cinematic lighting

Paramètres de la requête : aspect_ratio: "4:3", resolution: "2K".

Visuel vertical pour story :

a vertical social media story graphic for a candle brand product launch,
a single black matte ceramic candle jar centered on a deep charcoal
gradient background, bold white headline text 'NEW ARRIVAL' near the
top, smaller subtext 'Shop the Collection' below the product, minimalist
premium aesthetic, soft rim lighting on the candle jar, generous margin
for mobile screen safe zones

Paramètres de la requête : aspect_ratio: "9:16", resolution: "2K".

Les deux titres et les deux sous-titres sont correctement orthographiés, régulièrement espacés et placés exactement là où le prompt le demandait — dès la première génération, sans nouvelle tentative. C'est cette fiabilité qui rend le texte-vers-image utilisable pour les supports promotionnels à échéance serrée : une bannière promotionnelle ou un visuel de story qui exigeait auparavant un designer peut désormais être ébauché en un seul appel API.

Appeler directement l'API

seedream-4.5/text-to-image s'exécute via l'endpoint de tâches asynchrones de hiapi : soumettez une tâche, interrogez jusqu'à son achèvement, puis téléchargez le résultat.

curl :

curl -s -X POST https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer $HIAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedream-4.5/text-to-image",
    "input": {
      "prompt": "a minimalist amber glass skincare serum bottle on a travertine surface, soft window light, sage linen backdrop, e-commerce product photography, no text",
      "aspect_ratio": "1:1",
      "resolution": "2K"
    }
  }'

La réponse renvoie un task_id. Interrogez GET /v1/tasks/{task_id} jusqu'à ce que status soit succeeded, puis récupérez l'image depuis output[0].url. Cette URL est à durée limitée — téléchargez immédiatement.

Python (soumission + interrogation + téléchargement) :

import os
import time
import requests

API_BASE = "https://api.hiapi.ai/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"}


def generate_product_image(prompt: str, aspect_ratio: str = "1:1",
                            resolution: str = "2K") -> bytes:
    resp = requests.post(
        f"{API_BASE}/tasks",
        headers=HEADERS,
        json={
            "model": "seedream-4.5/text-to-image",
            "input": {
                "prompt": prompt,
                "aspect_ratio": aspect_ratio,
                "resolution": resolution,
            },
        },
        timeout=30,
    )
    resp.raise_for_status()
    task_id = resp.json()["task_id"]

    while True:
        poll = requests.get(f"{API_BASE}/tasks/{task_id}", headers=HEADERS, timeout=30)
        poll.raise_for_status()
        data = poll.json()
        if data["status"] == "succeeded":
            image_url = data["output"][0]["url"]
            return requests.get(image_url, timeout=30).content
        if data["status"] == "failed":
            raise RuntimeError(f"task {task_id} failed: {data.get('error')}")
        time.sleep(3)

Générer en lot toute une gamme de produits

Le même appel se généralise à une gamme complète : une liste de tuples (name, prompt, aspect_ratio), une tâche par entrée, et l'enregistrement sur disque en utilisant le nom.

JOBS = [
    {
        "name": "serum-hero",
        "prompt": "a minimalist amber glass skincare serum bottle on a travertine "
                   "surface, soft window light, sage linen backdrop, e-commerce "
                   "product photography, no text",
        "aspect_ratio": "1:1",
    },
    {
        "name": "sale-banner",
        "prompt": "a flat-lay e-commerce marketing banner for a summer skincare "
                   "sale, amber glass bottles on a terracotta background, bold "
                   "headline text 'SUMMER GLOW SALE', smaller text 'Up to 30% Off'",
        "aspect_ratio": "4:3",
    },
    {
        "name": "story-launch",
        "prompt": "a vertical social story graphic, a black matte ceramic candle "
                   "jar on a charcoal gradient background, bold white headline "
                   "'NEW ARRIVAL', subtext 'Shop the Collection'",
        "aspect_ratio": "9:16",
    },
]

for job in JOBS:
    image_bytes = generate_product_image(
        prompt=job["prompt"],
        aspect_ratio=job["aspect_ratio"],
        resolution="2K",
    )
    with open(f"{job['name']}.jpg", "wb") as f:
        f.write(image_bytes)
    print(f"{job['name']}: done")

À 0,045 $ par image, une collection saisonnière de 20 visuels — visuels principaux, bannières et stories combinés — coûte environ 0,90 $. Comme chaque tâche est indépendante, soumettre plusieurs appels /v1/tasks en parallèle et interroger en parallèle (dans la limite du taux de votre compte) est plus rapide que d'exécuter la liste séquentiellement.

Comparaison avec seedream-5.0-pro

hiapi propose également seedream-5.0-pro, un niveau distinct et plus récent destiné aux travaux e-commerce de texte-vers-image. Ce ne sont pas les mêmes modèles : tarification, options de résolution et caractéristiques de sortie diffèrent, et le workflow de seedream-5.0-pro est présenté dans son guide dédié. Lorsque le livrable exige un texte intégré fiable — bannières promotionnelles, visuels de story, cartes promotionnelles — avec un prix fixe de 0,045 $ par image et sans planifier de tarification par palier de résolution, seedream-4.5/text-to-image est le modèle à choisir.

FAQ

seedream-4.5/text-to-image accepte-t-il des photos de référence ? Non — text-to-image n'accepte que prompt, aspect_ratio et resolution. Pour éditer une photo produit existante plutôt que générer une nouvelle image, utilisez seedream-4.5/image-to-image.

Quelles résolutions et quels ratios d'aspect sont pris en charge ? resolution n'accepte que 2K ou 4K — il n'y a pas de palier 1K. aspect_ratio accepte 1:1, 4:3, 3:4, 16:9, 9:16, 2:3, 3:2 et 21:9.

Peut-il afficher de manière fiable un texte de titre dans l'image ? Oui — les deux exemples promotionnels ci-dessus ont rendu correctement des titres et sous-titres de plusieurs mots dès la première génération, sans faute d'orthographe ni glyphes illisibles.

Quel est le coût de la génération en lot d'une gamme de produits ? 0,045 $ par image, quel que soit le palier de résolution. Une série saisonnière de 20 images coûte environ 0,90 $ ; une série de 100 images coûte environ 4,50 $.

Puis-je lancer les générations en parallèle pour accélérer les tâches de traitement par lots ? Oui — chaque tâche est indépendante, donc soumettre plusieurs appels /v1/tasks simultanément et interroger en parallèle est le moyen le plus rapide de produire de gros volumes de visuels.

Essayez par vous-même

La référence complète des paramètres et la tarification en temps réel se trouvent sur la page du modèle et la page de tarification. Pour davantage de modèles de prompts sur ce modèle, consultez les recettes de prompts texte-vers-image seedream-4.5. Si votre workflow part de vraies photos produits plutôt que d'une page blanche, le guide e-commerce image-vers-image seedream-4.5 couvre la manière de les éditer directement.

Obtenez une clé API, générez votre premier visuel produit ou votre première bannière promotionnelle — le code ci-dessus peut être copié-collé dès aujourd'hui et exécuté directement contre l'API hiapi.

Articles similaires

Voir tous les articles →

Commencez avec des artefacts IA persistants

Obtenez votre clé API et appelez des modèles d'image, de vidéo et d'audio via une API unique basée sur les tasks.

Lire la documentation de l'API