HiAPI
Blog

Guide d'utilisation

Guide du développeur pour générer des visuels de produits e-commerce avec grok-imagine/text-to-image sur HiAPI

Modèles de prompts, formats ultra-larges et exemples de requêtes API directement exploitables pour des visuels de niveau catalogue

Nov 3, 2026
Flat brass and deep-green ribbons woven into a technical lattice on a near-black green field — cover art for the HiAPI developer guide.

Pourquoi utiliser un modèle texte-vers-image dans un pipeline d'images e-commerce

Chaque catalogue de produits comporte de nombreux emplacements d'image difficiles à traiter en studio. Un produit décliné en quarante coloris, un coffret qui change chaque trimestre, une bannière thématique à produire en cinq versions régionales avant midi — avant d'être un problème créatif, ce sont d'abord des problèmes de planning. La génération d'images à partir de texte ne remplace pas le photographe pour les visuels phares. Ce qu'elle peut assumer, c'est le volume considérable de travail répétitif qui gravite autour de ces visuels phares.

Il est utile de clarifier la répartition des rôles. grok-imagine/text-to-image convient aux tâches où le sujet peut être décrit par du texte et où la composition peut être répétée :

  • Déclinaison de variantes. Une composition de base, à partir de laquelle on dérive plusieurs coloris, matières ou états d'emballage.
  • Emplacements provisoires et brouillons. Produire des images de niveau catalogue suffisamment correctes pour que la mise en page et les revues de merchandising avancent avant l'arrivée des visuels définitifs.
  • Exploration de concepts. Tester rapidement des arrière-plans, des ambiances et des cadrages avant de réserver une séance photo payante.
  • Variantes régionales et de format. Le même produit, recomposé en bannière large ou en tuile carrée de grille.

Il ne convient pas aux cas où la fidélité de reproduction fait l'objet d'une exigence contractuelle. Les allégations promotionnelles réglementées, la typographie précise des étiquettes, les effets de surface des matières exacts, et tout contenu nécessitant une représentation juridiquement vérifiable du produit réel doivent être confiés à la photographie ou à un pipeline de rendu contrôlé. Les modèles texte-vers-image sont génératifs — ils approchent un logo, ils ne le reproduisent pas exactement.

La répartition pragmatique consiste à traiter le travail comme une file d'attente. Le travail coûteux et haute fidélité revient aux humains. Le travail répétable, descriptible et à grand volume revient au modèle, avec une étape de validation humaine entre la génération et la publication. Une fois cette répartition acceptée, les problèmes d'ingénierie deviennent classiques : comment maintenir la cohérence des sorties, comment planifier les formats réellement utilisés par la boutique, et comment exécuter les tâches en lot sans surveillance ?

Le reste de ce guide répond à ces questions dans le contexte de la plateforme HiAPI, et se termine par une structure de requête que vous pourrez adapter à votre propre catalogue.

Métaphore du tissage : les prompts convergent vers la grille, et les sorties du modèle se déploient vers des emplacements de catalogue régulièrement espacés.

Ce que grok-imagine/text-to-image propose sur HiAPI

Sur HiAPI, grok-imagine/text-to-image est un identifiant de modèle accessible via une interface API unifiée unique. Vous envoyez un prompt textuel décrivant l'image souhaitée, et recevez une ressource d'image générée. Sur le plan conceptuel, c'est là tout le contrat — ce qui mérite d'être dit clairement, car beaucoup de difficultés d'intégration proviennent d'hypothèses excessives.

Quelques précisions de périmètre sont importantes pour la planification :

Il est piloté par le prompt, non par une image de référence. La composition que vous obtenez découle du texte fourni. Si un emplacement exige une reproduction exacte du produit réel, ce modèle n'est pas l'outil adapté ; réservez-le aux cas où une représentation fidèle à la description est acceptable.

Tout transite par la même interface. L'authentification, la structure des requêtes et le traitement des réponses suivent les conventions de la plateforme HiAPI, et non un dialecte propre au modèle. Cela signifie que le code que vous écrivez pour ce modèle a la même ossature que celui de n'importe quel autre modèle d'image de la plateforme, ce qui garde votre couche client légère.

Le prompt est votre principal levier de contrôle. Comme vous n'utilisez ni champs structurés ni images de référence pour guider le modèle, la discipline du prompt porte l'essentiel de la responsabilité. La section suivante la transforme en modèle réutilisable.

La facturation suit le mode de mesure de la plateforme, dont le tarif actuel figure dans le panneau de tarification. Planifiez votre capacité en fonction du nombre d'images générées par exécution de catalogue, puis consultez le panneau pour les chiffres en temps réel, sans jamais coder en dur une valeur numérique dans vos documents de planification.

Ne supposez pas l'existence de paramètres non documentés. Si un paramètre n'apparaît pas dans le schéma de requête sur lequel vous vous appuyez, ne construisez pas de pipeline qui en dépende. Considérez la surface de requête documentée comme le contrat, et tenez les comportements spécifiques au modèle à l'écart de votre logique métier.

Un modèle mental utile : HiAPI fournit une entrée stable et unifiée, et grok-imagine/text-to-image est ce qui se trouve derrière la porte. Gardez votre intégration toujours pointée vers cette entrée.

Concevoir des modèles de prompts pour des visuels de produit cohérents

La cohérence sur tout un catalogue n'est pas une propriété du modèle, mais une propriété de l'architecture des prompts. Si chaque prompt est écrit à la va-vite, chaque image ressemble à une séance photo différente. La solution consiste à décomposer le prompt en modules fixes et à ne faire varier que celui qui décrit le produit.

Le modèle à quatre modules

[SUBJECT]      ce qu'est le produit, et ses attributs clés de matière/couleur
[STAGING]      comment il est placé dans le cadre : angle, recadrage, surface de support, échelle
[LIGHTING]     position de la lumière, douceur, température de couleur, rendu des ombres
[BACKGROUND]   surface, profondeur de champ, environnement, espace négatif
[CONSTRAINTS] ce qui ne doit pas apparaître : texte, filigranes, accessoires superflus, personnes

Au sein d'un même lot de catalogue, gardez STAGING, LIGHTING, BACKGROUND et CONSTRAINTS identiques octet pour octet. Seul SUBJECT doit varier selon le produit. Cette seule discipline suffit à donner à la grille une apparence globalement cohérente.

Un modèle éprouvé pour l'e-commerce

Studio product photograph of {product_name}, {material}, {color}, {finish}.
Centered three-quarter view, product fills roughly 60% of frame height,
resting on a matte neutral surface. Soft large-source key light from
upper left, gentle fill from right, subtle contact shadow directly
beneath. Seamless light-grey background with clean negative space
above the product. No text, no logos, no watermarks, no props, no people.

Remplissez {product_name}, {material}, {color} et {finish} depuis votre base de données produits. Le reste est une constante de votre base de code, de préférence placée dans un fichier de modèle versionné, et consignez la chaîne template_version dans les journaux de génération — ainsi, si le style visuel dérive, vous saurez si c'est le modèle de prompt ou le modèle de génération qui a changé.

Règles pratiques

  • L'ordre importe moins que la stabilité. Choisissez un ordre de modules et ne le changez jamais au sein d'un même catalogue.
  • Décrivez la matière, pas la marque. « aluminium brossé » est guidable ; une marque déposée ne l'est pas.
  • Placez le sujet en tête. Mettez le groupe nominal concret en premier pour qu'il ancre la composition.
  • Écrivez explicitement les négations. Pour le travail sur produit, le module CONSTRAINTS n'est pas facultatif — le texte parasite et les accessoires sont la cause la plus fréquente d'images inutilisables.
  • Générez d'abord trois produits test, puis trois cents. Les défauts de modèle se multiplient linéairement avec la taille du catalogue.

Traitez le prompt comme du code : versionnez-le, révisez les modifications et associez toujours les ressources générées à la version du modèle de prompt qui les a produites.

Trois modules de construction fixes — sujet, éclairage, arrière-plan — tissés en un prompt complet et répétés entre les variantes.

Planifier les formats ultra-larges pour la vitrine

Le choix du format est souvent une décision de conception repoussée à la fin. L'ordre habituel : générer une belle image carrée, puis découvrir que la bannière d'accueil demande un cadrage bien plus large, recadrer et perdre le tiers supérieur du produit. Planifiez les formats en amont.

Inventoriez vos emplacements avant de générer

Parcourez votre vitrine et listez chaque forme de cadre distincte qui accueillera un visuel de produit : tuiles de grille, galerie de page produit, bannières de catégorie, bannière d'accueil, en-tête d'e-mail et tout emplacement de média payant. Chaque emplacement a une forme, et les formes se regroupent. Regroupez-les et générez par groupe, plutôt qu'image par image.

Ce que change le format ultra-large

Un canevas large n'est pas un carré étiré. Quand la largeur augmente par rapport à la hauteur :

  • La zone de sécurité horizontale s'agrandit, la verticale se réduit. Tout contenu proche du bord supérieur ou inférieur risque d'être coupé par un recadrage responsive sur petit viewport.
  • L'échelle du sujet exige une décision. Un produit centré à une taille raisonnable sur un cadre carré devient un îlot sur un cadre ultra-large. Soit vous l'agrandissez volontairement, soit vous acceptez une composition où le produit occupe un côté.
  • L'espace négatif devient critique. Les cadres larges accueillent souvent du texte en superposition, des badges de prix ou un CTA. Réservez explicitement cette zone dans le prompt — par exemple « garder le tiers droit en arrière-plan propre et dégagé pour un texte de titre ».
  • Les dégradés de lumière s'étirent. Un vignettage doux qui fonctionne sur un carré peut ressembler à une tache sur un cadre large. Gardez la description de l'éclairage simple et directionnelle.

Des schémas de composition qui résistent au recadrage large

  1. Produit à gauche, espace négatif à droite. Le schéma le plus sûr pour une bannière d'accueil.
  2. Produit centré, marges suffisantes de chaque côté. À privilégier quand la même ressource doit aussi être recadrée en carré.
  3. Produit à droite, environnement à gauche. Adapté aux bannières lifestyle où la gauche porte une surface ou une texture.

Générez au format cible le plus large dont vous avez besoin

Si une ressource doit servir à la fois une bannière large et une tuile carrée, générez une version composée pour le cadre large et planifiez le recadrage carré dans la mise en page — ou générez deux versions à partir du même modèle de prompt en changeant le module de staging. Ce qu'il faut éviter, c'est de composer pour un cadre étroit en espérant que la version large fonctionne.

Consignez le format attendu dans les mêmes métadonnées de modèle que l'ID produit, pour que chaque ressource du stockage sache pour quel emplacement elle a été construite.

Comment le placement du sujet et les zones de sécurité varient entre cadres étroits et ultra-larges.

Construire une requête HiAPI fonctionnelle

L'ossature de l'intégration est volontairement ennuyeuse, et c'est exactement ce que vous voulez. Assemblez le prompt, envoyez-le au point de terminaison HiAPI avec vos identifiants et l'identifiant de modèle, puis traitez la ressource renvoyée.

Aperçu du flux

import os, requests

HIAPI_BASE = "https://api.hiapi.ai"  # confirm exact base in platform docs
HEADERS = {
    "Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}",
    "Content-Type": "application/json",
}

def build_prompt(product, template):
    return template.format(
        product_name=product["name"],
        material=product["material"],
        color=product["color"],
        finish=product["finish"],
    )

def generate_image(prompt, aspect_ratio="1:1"):
    payload = {
        "model": "grok-imagine/text-to-image",
        "prompt": prompt,
        "aspect_ratio": aspect_ratio,
    }
    resp = requests.post(
        f"{HIAPI_BASE}/v1/images/generations",
        headers=HEADERS, json=payload, timeout=120,
    )
    resp.raise_for_status()
    return resp.json()

Avant la mise en production, considérez le chemin du point de terminaison et les noms de paramètres exacts comme des éléments à vérifier par rapport à la documentation actuelle de la plateforme — ce code illustre une structure, pas un schéma figé. Les propriétés importantes sont :

  • L'identifiant de modèle est une donnée, pas du code. Stockez "grok-imagine/text-to-image" dans la configuration, pour qu'un changement de modèle ne soit qu'un changement de configuration.
  • Le prompt est assemblé, jamais saisi à la main. Une fonction build_prompt, une source de modèle de prompt.
  • Le format est un paramètre de l'appel. Il fait partie de la requête et doit être choisi d'après l'inventaire des emplacements, non appliqué comme un recadrage en post-traitement.
  • Les clés viennent des variables d'environnement. Aucun identifiant dans le dépôt.

Journalisez les informations dont vous aurez besoin plus tard

Pour chaque requête, persistez : l'ID de requête, l'ID produit, la version du modèle de prompt, le format, la chaîne de prompt complète, l'identifiant de modèle, l'horodatage et la référence de la ressource renvoyée. Quand l'équipe merchandising demande pourquoi une tuile semble incorrecte, ce journal donne la réponse en quelques secondes plutôt qu'en un après-midi.

Gardez le client léger

Enveloppez l'appel dans une petite fonction qui renvoie une référence de ressource ou un échec typé. Vos tâches de catalogue ne doivent pas connaître HTTP, et votre couche HTTP ne doit pas connaître le produit. C'est cette séparation qui permet de garder courte la logique de nouvelle tentative de la section suivante.

Traiter les sorties, les nouvelles tentatives et les tâches par lots

La génération est la partie facile. Tout ce qui rend réellement fiable un pipeline d'images se produit après le retour de la réponse.

Validez avant de publier

Chaque ressource renvoyée doit passer des contrôles automatiques avant d'atteindre un emplacement de catalogue :

  • Existe-t-elle et est-elle décodable ? Un fichier qui se télécharge mais échoue à l'analyse est un échec silencieux qui attend le jour du lancement pour se manifester.
  • La forme correspond-elle à l'emplacement ? Vérifiez les dimensions par rapport au format demandé, et non par rapport au format espéré.
  • Les contraintes sont-elles respectées ? Si votre modèle de prompt interdit le texte dans l'image, marquez les ressources où du texte est détecté — un classifieur léger, voire un contrôle manuel par échantillonnage à petite échelle, suffit.
  • Passe-t-elle la validation humaine ? Pour tout contenu destiné aux clients, prévoyez une étape de validation. L'état d'approbation est un champ de l'enregistrement de la ressource, pas un message Slack.

Réessayez de manière différenciée

Tous les échecs ne se valent pas, et les traiter de la même façon gaspille de la capacité.

  • Erreurs de transport et de limitation de débit : réessayez avec un backoff exponentiel et jitter, en limitant à un petit nombre de tentatives.
  • Pannes serveur : réessayez quelques fois avec backoff, puis marquez l'élément comme échoué et passez au suivant.
  • Erreurs de schéma ou de validation : ne réessayez jamais — elles échoueront de la même manière. Journalisez et alertez.
  • Rejets de qualité : ne réessayez pas à l'aveugle. Relancer exactement le même prompt donne souvent un résultat similaire. Modifiez une seule variable — généralement la description du sujet — et consignez le prompt modifié utilisé pour cette nouvelle tentative.

Utilisez (product_id, template_version, aspect_ratio) comme clé de tâche pour rendre chaque tentative idempotente. Un processus de travail qui plante doit pouvoir reprendre sans dépenser deux fois.

Exécutez les lots via une file d'attente, non via une boucle

Pour toute tâche portant sur plus de quelques images, organisez le travail en file d'attente :

  1. Énumérez les sorties cibles à partir de la base de données produits et de l'inventaire des emplacements, en créant des enregistrements de tâche à l'état pending.
  2. Traitez les tâches en limitant la concurrence — commencez prudemment et n'augmentez qu'après avoir observé une latence stable.
  3. Persistez chaque résultat dans le stockage objet sous une clé déterministe, et écrivez un enregistrement de ressource avec les métadonnées de génération.
  4. Rapportez l'état du lot : nombre de tentatives, de succès, d'échecs, de rejets de validation et de nouvelles tentatives totales. Publiez ce résumé, pas seulement le nombre de succès.

Ajoutez un mode dry-run qui assemble et journalise chaque prompt sans appeler l'API. C'est la façon la moins coûteuse de détecter les défauts de modèle sur des milliers de SKU.

Liste de contrôle avant de publier des visuels de produit en production

Parcourez cette liste avant la mise en ligne du premier lot de catalogue.

Qualité des prompts

  • Le modèle de prompt est décomposé en modules sujet, placement, éclairage, arrière-plan et contraintes.
  • Au sein d'une exécution de catalogue, seul le module sujet varie.
  • Les contraintes négatives sont explicites et incluent texte, filigranes et accessoires superflus.
  • Le modèle de prompt est sous contrôle de version, et la chaîne de version est consignée dans chaque enregistrement de ressource.
  • Un contrôle a été effectué sur au moins trois produits représentatifs des cas extrêmes de matière et de couleur.

Couverture des formats

  • Chaque emplacement de la vitrine a un format consigné et un schéma de placement correspondant.
  • Les ressources ultra-larges sont composées pour le cadre large, avec un espace négatif réservé au texte en superposition.
  • Les recadrages responsives ont été examinés sur le plus petit viewport que vous prenez en charge.

Fiabilité du pipeline

  • Les clés API sont chargées depuis l'environnement et jamais commitées dans le dépôt.
  • L'identifiant de modèle et le point de terminaison sont dans la configuration, et ont été vérifiés par rapport à la documentation actuelle de la plateforme.
  • La politique de nouvelle tentative distingue les échecs de transport, serveur, de validation et de qualité.
  • Les tâches sont idempotentes sur le produit, la version du modèle de prompt et le format.
  • Chaque requête journalise le prompt, le format, le modèle, l'horodatage et la référence de la ressource renvoyée.

Validation et opérations

  • Une validation humaine est en place pour les ressources destinées aux clients.
  • Le rapport de synthèse du lot indique les échecs et les rejets de validation, pas seulement les succès.
  • Le mode dry-run est disponible et a effectivement été utilisé avant une exécution à grande échelle.
  • Le tarif actuel a été confirmé dans le panneau de tarification de la plateforme, et la capacité est planifiée en fonction du nombre d'images.

Quand chaque point est coché et que le lot échantillon ressemble à une séance photo cohérente plutôt qu'à un rassemblement d'inconnus, vous pouvez publier.

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