Seedance 2.5 is live — 30-second cinematic video with native audio & real-person references
API photographie produit : d'une photo aux images boutique
2026/09/03

API photographie produit : d'une photo aux images boutique

Créez un workflow d'API de photographie produit qui préserve l'identité du produit, démarre à 1K, valide chaque résultat et suit le coût par image approuvée.

Une simple photo de produit peut suffire pour un ensemble restreint d'images de devanture ou trois quarts de magasin, à condition que l'API soit appelée à changer le contexte, non à réinventer le produit. Le workflow pratique est simple : énoncez les détails qui ne peuvent pas bouger, générez un seul candidat bon marché en 1K, rejetez-le selon une liste fixe, et augmentez la qualité ou changez de modèle seulement pour une erreur nommée.

Cette dernière partie importe. Un appel de modèle peut se terminer avec succès et quand même vous donner une bouteille avec un bouchon différent, un logo adouci ou une ombre qui fait flotter l'article. Le nombre qui vaut la peine d'être suivi n'est donc pas le prix de génération annoncé. C'est le coût par image approuvée, y compris chaque candidat terminé que vous avez rejeté.

Les tarifs de ce guide ont été vérifiés le 3 septembre 2026. Ils peuvent bouger, alors lisez la page du modèle en direct avant de les transformer en devis client ou limite de budget fixe.

TL;DR

  • Commencez avec une photo de produit que vous possédez, montrant un seul article sans obstruction sous l'angle que vous envisagez de vendre.
  • Rédigez un contrat d'identité pour la forme, les proportions, le matériau, les ruptures de couleur, la quincaillerie et les marques d'étiquette existantes. Laissez le contexte changer ; ne laissez pas ces détails changer.
  • Le premier passage le moins cher ici est Nano Banana 2 Lite à 15 crédits, ou 0,015 $, pour une image 1K terminée lorsqu'il a été vérifié le 3 septembre 2026.[1]
  • Utilisez un candidat pour valider la requête. Ne commandez pas un lot avant que le produit survive à l'examen.
  • Lisez les usage.credits réglés à partir de chaque tâche terminale. Divisez le total des crédits facturés pour les tentatives terminées par le nombre qu'une personne approuve.
  • Gardez les prix exacts, les dosages, les ingrédients, les marques de certification et la mention légale en dehors des pixels générés. Conservez ou composez l'œuvre d'art vérifiée.

Une photo de produit n'est pas prête pour la vente simplement parce qu'elle est soignée

Les utilisateurs peuvent-ils importer une simple photo de produit et obtenir un résultat e-commerce propre, sans déformation, texte d’étiquette altéré, éclairage artificiel ni incohérence ? Le coût compte, car chaque résultat rejeté peut déclencher une nouvelle génération.

C'est une meilleure définition du problème que « rendre cette photo professionnelle ». Un asset prêt pour le magasin doit passer des vérifications observables :

VérificationCondition de réussiteRejet quand
Nombre de produitsExactement un article demandéUn doublon, un couvercle ou une pièce détachée apparaît
GéométrieLa silhouette et les proportions correspondent à la sourceLe bouchon, la poignée, la pompe, le bord ou la largeur du paquet change
MatériauLa finition et la texture restent reconnaissablesLe mat devient brillant, le transparent devient opaque ou le grain disparaît
CouleurLes blocs de couleur du produit restent aux mêmes endroitsLe bilan blanc change le produit plutôt que le contexte
ÉtiquetteLes marques existantes restent en place et aucune nouvelle revendication n'apparaîtLes mots mutent, disparaissent ou sont inventés
CadreL'article entier est visible avec un espace de sécurité utileLa base, le bouchon, la poignée ou l'ombre est rogné
AncrageL'ombre de contact s'accorde avec la surface et la lumièreL'article flotte ou projette une ombre impossible
LivraisonL'aspect, la taille de pixel et le format de fichier conviennent à la destinationLe fichier a besoin d'un recadrage non sécurisé ou a des bords inutilisables

Une image belle peut échouer ce tableau. Inversement, un balayage blanc retenu qui préserve chaque fait du produit peut être l'asset plus précieux.

Choisissez un modèle selon l'erreur que vous devez résoudre

Il n'y a pas de modèle universel « meilleur pour la photographie produit ». Commencez par l'itinéraire le moins cher qui peut exprimer l'édition, puis déplacez-vous seulement quand la revue vous dit pourquoi le premier itinéraire est insuffisant.

ÉtapeModèle et niveau de requêteTarif de génération en directUtilisez-le quand
Passage de dispositionnano-banana-2-lite, 1K0,015 $ / 15 créditsUne source, un simple changement d'arrière-plan et d'éclairage
Édition flexiblegpt-image-2, 1K0,030 $ / 30 créditsVous avez besoin de plus de choix de rapport d'aspect ou d'un workflow d'édition ciblé
Photo de productiondoubao-seedream-5-0-pro, 1K basique0,032 $ / 32 créditsLe matériau, l'éclairage, la composition ou le contrôle multi-référence est la partie plus difficile
Asset complexe ou plus grandgemini-3-pro-image-preview, 1K ou 2K0,030 $ / 30 créditsLe cahier des charges est dense, les références sont nombreuses ou un passage 4K ultérieur est justifié

Ce sont les tarifs actuels de reAPI, pas les prix de liste des fournisseurs en amont. Nano Banana 2 Lite retourne une image 1K et accepte jusqu'à dix références d'image publiques. GPT Image 2 propose des niveaux 1K, 2K et 4K. Seedream 5.0 Pro propose une sortie 1K basique et 2K haute, avec jusqu'à dix références. Nano Banana Pro atteint également 4K ; son prix 4K réglé était de 0,033 $, ou 33 crédits, à la même date.[1][2][3][4]

Les étiquettes d'étape sont des recommandations de workflow, pas des classements de fournisseur. ByteDance positionne Seedream 5.0 Pro autour de la cohérence structurelle, du contrôle du matériau et de l'éclairage, de la fusion multi-image et de l'édition orientée production ; la photo source et votre test d'acceptation décident toujours si ces capacités aident ce produit particulier.[8]

La résolution n'est pas un outil de réparation pour une géométrie incorrecte. Si le brouillon 1K change le bouchon, une réexécution 4K peut vous donner un bouchon plus net mais incorrectement situé. D'abord réparez l'instruction d'identité ou ajoutez une référence utile. Augmentez la résolution seulement après que la composition et le produit ont réussi.

Pour des compromis de capacité plus larges, utilisez la comparaison complète GPT Image 2 versus Nano Banana Pro ou la comparaison Seedream 5.0 Pro versus GPT Image 2. Le reste de ce guide reste sur le travail de photo-produit.

Préparez la photo source avant de dépenser un crédit

Confirmez que vous possédez la source ou que vous avez la permission de la transformer avant de la soumettre. Ne supposez pas qu'une liste de place, un autre catalogue ou un téléchargement client est autorisé pour un nouvel asset commercial ; vérifiez la licence applicable, les conditions et le consentement du client.

La source n'a pas besoin d'un arrière-plan de studio. Elle doit rendre le produit lisible :

  • montrer un article complet, y compris sa base et son sommet ;
  • utiliser le même angle large que celui que vous voulez dans le résultat ;
  • tenir les doigts, le ruban, les reflets et les accessoires loin des bords importants ;
  • éviter les noirs écrasés et les hautes lumières soufflées qui cachent le matériau ;
  • rendre le bouchon, la poignée, la pompe, la fixation et les limites de couleur faciles à inspecter ;
  • fournir un autre angle de propriété lorsque le résultat demandé expose un côté que la première photo ne montre pas.

Une photo n'est pas un modèle 3D. Elle ne peut pas prouver ce qui est imprimé sur un panneau arrière caché ou la forme d'un mécanisme non visible. Quand les preuves manquent, soit capturez une autre référence, soit gardez cette surface hors de la vue.

L'API accepte les médias en tant qu'URL HTTP(S) publiques. Les chaînes Base64 et les URL data: sont rejetées, alors téléchargez d'abord la source sur votre propre R2, S3 ou stockage d'objets équivalent.[1]

Rédigez un contrat d'identité de produit

Avant de rédiger le prompt visuel, transformez la source en un court dossier d'inspection. Ce n'est pas encore de la prose pour le modèle ; c'est la spécification que le prompt et le relecteur utiliseront.

{
  "product": "bouteille de soin 250 ml",
  "must_keep": [
    "exactement une bouteille",
    "silhouette arrondie haute rectangulaire",
    "pompe blanc mat court",
    "bande bleu cobalt au quart inférieur",
    "corps blanc chaud avec finition satinée",
    "position de l'étiquette de face et toutes les marques existantes",
    "rapport hauteur-largeur"
  ],
  "may_change": [
    "arrière-plan",
    "surface",
    "direction d'éclairage",
    "ombre de contact",
    "espace de recadrage"
  ],
  "must_not_create": [
    "nouveaux mots ou logos",
    "badge de prix ou de réduction",
    "ingrédient ou revendication de certification",
    "bouteille, bouchon, pompe ou emballage supplémentaire"
  ]
}

« Gardez-le cohérent » ne dit rien à un relecteur. « La bande cobalt reste au quart inférieur » le fait.

Construisez le premier prompt de photographie produit

Énoncez en premier l'identité non négociable, puis dites ce qui peut changer, puis décrivez la prise. Les modèles ont tendance à suivre une limite concrète mieux qu'une longue liste d'adjectifs photographiques.

Utilisez l'image 1 comme l'identité produit exacte.

Gardez exactement un produit. Préservez sa silhouette, ses dimensions, la position de la pompe,
le matériau blanc chaud satiné, la limite de couleur cobalt, la texture de surface et chaque marque d'étiquette existante. Ne redesinez pas, ne reetiquetez pas, n'enlevez pas et n'ajoutez pas de marque.

Changez seulement le contexte : placez le produit centré sur un balayage studio blanc chaud sans couture. Utilisez une grande source de clé douce du coin supérieur gauche, du détail avant uniforme,
et une ombre de contact naturelle directement sous la bouteille. Gardez le produit entier visible avec au moins 10 % d'espace de recadrage de tous les côtés.

Pas de mains, de personnes, de props, de boîtes, de produits supplémentaires, de texte ajouté, de badges, de reflets dramatiques, de bords rognés ou d'objet flottant.

Le prompt ne demande pas au modèle d'améliorer l'étiquette. Si la typographie des étiquettes est commercialement importante, « amélioration » est une invitation à la redessiner. Conservez la plaque d'origine ou ajoutez l'œuvre d'art vérifiée après la génération.

Soumettez votre premier travail d'API de photographie produit

Créez une clé API de médias, remplacez l'URL d'exemple par votre image source publique, et soumettez une tâche Nano Banana 2 Lite. C'est une demande payante ; c'est volontairement un candidat plutôt qu'un lot.

curl https://reapi.ai/api/v1/images/generations \
  -H "Authorization: Bearer $REAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "nano-banana-2-lite",
    "prompt": "Use Image 1 as the exact product identity. Keep exactly one product. Preserve its silhouette, dimensions, pump position, material, color boundaries, surface texture, and every existing label mark. Do not redesign, relabel, remove, or add branding. Change only the setting: center it on a warm-white seamless studio sweep with a soft key light from upper left and a natural contact shadow. Keep the whole product visible with at least 10% crop room. No hands, people, props, extra products, added text, badges, clipped edges, or floating object.",
    "image_urls": ["https://assets.example.com/my-product.jpg"],
    "aspect_ratio": "1:1"
  }'

La réponse contient un id et status: "processing". Enregistrez l'ID. Ensuite, interrogez le point de terminaison de la tâche toutes les deux ou trois secondes jusqu'à ce qu'il atteigne completed ou failed :

TASK_ID="task_replace_me"

curl "https://reapi.ai/api/v1/tasks/$TASK_ID" \
  -H "Authorization: Bearer $REAPI_API_KEY"

L'interrogation ne consomme pas de crédits. Une tâche d'image terminée retourne le fichier dans output.image_urls et la charge réglée dans usage.credits.[5]

Ne répétez pas aveuglément le POST quand un client perd sa connexion avant de lire la réponse. La première demande a peut-être déjà créé une tâche payante. Enregistrez la réponse et l'ID de la tâche dès qu'ils arrivent ; réessayez le GET en toute sécurité, mais prenez une décision délibérée avant de créer une autre génération.

Un exécuteur Node.js complet avec interrogation bornée

Le script suivant fonctionne dans Node.js 20 ou ultérieur sans SDK. Il supporte les quatre formes de demande 1K utilisées dans ce guide, soumet exactement une fois, utilise une limite d'interrogation locale de cinq minutes, imprime les crédits réglés et copie un fichier réussi dans le répertoire courant.

import { writeFile } from 'node:fs/promises';

const apiKey = process.env.REAPI_API_KEY;
const sourceUrl = process.env.SOURCE_IMAGE_URL;
const model = process.env.IMAGE_MODEL || 'nano-banana-2-lite';

if (!apiKey || !sourceUrl) {
  throw new Error('Set REAPI_API_KEY and SOURCE_IMAGE_URL first.');
}

const prompt = `Use Image 1 as the exact product identity.
Keep exactly one product. Preserve its silhouette, proportions, hardware,
material, color boundaries, surface texture, and every existing label mark.
Do not redesign, relabel, remove, or add branding.
Change only the setting: center it on a warm-white seamless studio sweep with
a soft key light from upper left and a natural contact shadow. Keep the whole
product visible with at least 10% crop room. No hands, people, props, added
text, badges, extra products, clipped edges, or floating object.`;

function requestBody(selectedModel) {
  const common = {
    model: selectedModel,
    prompt,
    image_urls: [sourceUrl],
  };

  if (selectedModel === 'nano-banana-2-lite') {
    return { ...common, aspect_ratio: '1:1' };
  }
  if (selectedModel === 'gpt-image-2') {
    return { ...common, size: '1:1', resolution: '1k' };
  }
  if (selectedModel === 'doubao-seedream-5-0-pro') {
    return { ...common, aspect_ratio: '1:1', quality: 'basic' };
  }
  if (selectedModel === 'gemini-3-pro-image-preview') {
    return { ...common, size: '1:1', resolution: '1k' };
  }
  throw new Error(`Unsupported IMAGE_MODEL: ${selectedModel}`);
}

const headers = {
  Authorization: `Bearer ${apiKey}`,
  'Content-Type': 'application/json',
};

async function readJson(response) {
  const body = await response.json();
  if (!response.ok) {
    const message = body.error?.message || JSON.stringify(body);
    throw new Error(`HTTP ${response.status}: ${message}`);
  }
  return body;
}

const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));

async function getTask(taskId) {
  for (let attempt = 0; attempt < 4; attempt += 1) {
    let response;
    try {
      response = await fetch(`https://reapi.ai/api/v1/tasks/${taskId}`, {
        headers: { Authorization: `Bearer ${apiKey}` },
        signal: AbortSignal.timeout(15_000),
      });
    } catch (error) {
      if (attempt === 3) throw error;
      await sleep(1000 * 2 ** attempt);
      continue;
    }

    if (response.status === 429) {
      const seconds = Number(response.headers.get('retry-after'));
      await response.body?.cancel();
      await sleep(Number.isFinite(seconds) ? seconds * 1000 : 5000);
      continue;
    }

    if ([502, 503, 504].includes(response.status)) {
      await response.body?.cancel();
      await sleep(1000 * 2 ** attempt);
      continue;
    }

    return readJson(response);
  }

  throw new Error(`Task ${taskId} could not be read after transient errors`);
}

// Submit once. If this connection fails ambiguously, reconcile before
// re-running the script: the server may already have accepted the task.
const submission = await readJson(
  await fetch('https://reapi.ai/api/v1/images/generations', {
    method: 'POST',
    headers,
    body: JSON.stringify(requestBody(model)),
    signal: AbortSignal.timeout(30_000),
  }),
);

console.log(`submitted ${submission.id}`);

const deadline = Date.now() + 5 * 60 * 1000;
let task;

while (Date.now() < deadline) {
  await sleep(3000);
  task = await getTask(submission.id);
  if (task.status === 'completed' || task.status === 'failed') break;
}

if (!task || task.status === 'processing') {
  throw new Error(
    `Local polling deadline reached. Resume GET for ${submission.id}; do not POST again.`,
  );
}

console.log(`status=${task.status} credits=${task.usage.credits}`);

if (task.status === 'failed') {
  const credits = task.usage?.credits ?? 'unknown';
  throw new Error(
    `${task.error?.code || 'task_failed'}: ${task.error?.message || 'unknown error'}; task=${task.id}; settled_credits=${credits}`,
  );
}

const outputUrl = task.output?.image_urls?.[0];
if (!outputUrl) throw new Error('Task completed without an image URL.');

const imageResponse = await fetch(outputUrl, {
  signal: AbortSignal.timeout(30_000),
});
if (!imageResponse.ok) {
  throw new Error(`Image download failed: HTTP ${imageResponse.status}`);
}

const contentType = (imageResponse.headers.get('content-type') || '')
  .split(';')[0]
  .trim()
  .toLowerCase();
const extensionByType = {
  'image/jpeg': 'jpg',
  'image/png': 'png',
  'image/webp': 'webp',
};
const extension = extensionByType[contentType];
if (!extension) throw new Error(`Unexpected output type: ${contentType}`);
const outputPath = `product-candidate.${extension}`;

await writeFile(outputPath, Buffer.from(await imageResponse.arrayBuffer()));
console.log(`saved ${outputPath} from ${outputUrl}`);

Exécutez-le comme ceci :

export REAPI_API_KEY="rk_live_replace_me"
export SOURCE_IMAGE_URL="https://assets.example.com/my-product.jpg"
export IMAGE_MODEL="nano-banana-2-lite"
node product-photo.mjs

Pour essayer GPT Image 2, Seedream 5.0 Pro ou Nano Banana Pro après examen, modifiez seulement IMAGE_MODEL. Le générateur de demande fournit le champ de taille correct pour chaque modèle.

Ce qu'un test en direct de 15 crédits a retourné

Une tasse en céramique source dans une scène stylisée à côté de la sortie 1K de l'API sur un arrière-plan de studio blanc chaud ordinaire

Le 3 septembre 2026, nous avons envoyé un PNG source hébergé par reAPI de 2 048 × 1 152 à travers la demande Nano Banana 2 Lite exacte ci-dessus, avec un rapport de sortie carré. La tâche task_01a065bb951c735fab44b38c778e069e s'est terminée, a retourné un JPEG de 1 024 × 1 024 et s'est établie à 15 crédits (0,015 $). L'URL de l'image était téléchargeable sans authentification quand nous l'avons vérifiée.

Le résultat a fait ce que le premier passage était destiné à tester : il a gardé une tasse, montré l'ouverture d'outline et de poignée complète, supprimé les livres et la plante, et placé le produit sur un balayage neutre avec une ombre de contact. Il a également changé de petits paillettes de glaçure et des reflets. Cela en fait un candidat de disposition utile, non la preuve qu'un SKU fait main unique est resté pixel-identique. Une exécution valide la forme de demande, la forme de sortie et la charge ; elle n'établit pas la latence, le taux d'acceptation ou un gagnant du modèle.[1]

Revoyez le premier résultat à 100 % de taille

Ne décidez pas à partir d'une vignette. Ouvrez la source et le candidat côte à côte, zoomez à 100 %, et remplissez un dossier comme ceci :

{
  "task_id": "task_replace_me",
  "decision": "reject",
  "passed": [
    "one product",
    "complete crop",
    "background",
    "contact shadow"
  ],
  "failed": [
    "pump became taller",
    "lower cobalt band moved upward"
  ],
  "usage_credits": 15,
  "reviewer": "initials",
  "prompt_revision": 1
}

Vérifiez d'abord le contour. Puis comparez les points de repère fixes : la hauteur du bouchon, l'ouverture de la poignée, les coins, les coutures, le nombre de boutons, les limites de couleur, la position de l'étiquette et la finition de surface. Lisez chaque mot visible. Enfin, inspectez le recadrage et l'ombre.

Cet ordre est intentionnel. Une configuration d'éclairage élégante ne devrait pas vous persuader d'approuver un produit différent.

Réessayez une condition échouée, pas l'ensemble du cahier des charges

« Réessayez » ne vous apprend rien. Reportez les parties passantes et changez une instruction liée à l'échec.

ÉchecMeilleur coup suivant
Le bouchon ou la poignée changeNommez sa position et ses proportions ; ajoutez une autre vue de propriété si la forme est obscurcie
Le produit devient trop brillantÉnoncez la finition observée et supprimez les mots tels que « brillance luxe »
Les lettres d'étiquette mutentRejetez les pixels d'étiquette ; conservez ou composez l'œuvre d'art vérifiée au lieu de demander une nouvelle copie
L'article flotteDemandez une ombre de contact directement en dessous et un plan de surface à la base
Le cadre coupe le produitExigez l'article complet plus une marge de sécurité numérique
Les restes d'arrière-plan restentUtilisez une découpe et un modèle déterministe plutôt que de demander au générateur à nouveau
Les changements de couleurDécrivez la couleur du produit comme fixe et rendez l'éclairage demandé neutre

Donnez à un modèle presque correct un seul réessai ciblé. Si la même condition d'identité échoue à nouveau, changez la méthode : fournissez une meilleure référence, utilisez une édition localisée, ou conservez les pixels du produit d'origine et reconstruisez seulement l'arrière-plan. Le guide de tarification de l'API de suppression d'arrière-plan montre comment tarifier cet itinéraire déterministe.

Calculez le coût réel d'une image approuvée

Un crédit vaut 0,001 $. La formule utile est :

coût par image approuvée =
  somme des crédits réglés pour les tentatives créatives terminées × 0,001 $
  -----------------------------------------------------------------------
                    nombre d'images approuvées

Supposez que trois tâches Nano Banana 2 Lite se terminent à 15 crédits chacune. Vous rejetez deux pour la dérive du produit et en approuvez une :

(15 + 15 + 15) × 0,001 $ / 1 image approuvée = 0,045 $

Le prix unitaire de l'API est toujours 0,015 $. Votre coût par image acceptée est 0,045 $. Les deux chiffres sont vrais ; ils répondent à des questions différentes.

Les défaillances du fournisseur se règlent normalement à zéro crédit après que la réservation soit remboursée. Les images terminées que vous rejetez de façon créative restent payées. Une vérification de sécurité post-génération spécifique au modèle peut également conserver une charge même quand elle masque la sortie, donc utilisez status ensemble avec usage.credits au lieu de supposer que chaque tâche échouée coûte zéro.[5]

Si vous voulez un petit test de fumée multi-modèle, une tentative 1K chacune de Nano Banana 2 Lite, GPT Image 2 et Seedream 5.0 Pro budget actuellement :

15 + 30 + 32 = 77 crédits = 0,077 $

C'est un budget de planification non exécuté, non un benchmark mesuré, un taux d'acceptation ou un classement de modèle. Une sortie par modèle ne supporterait aucune de ces affirmations. Un premier coup plus bon marché et plus utile est toujours le candidat de disposition 15-crédit unique, suivi d'une décision spécifique à l'échec.

Mettez le workflow en production sans perdre la piste d'audit

Pour chaque génération, conservez :

  • un hash ou un ID durable pour l'asset source ;
  • l'ID de modèle exact, le niveau de sortie, le prompt et la révision du prompt ;
  • le temps de soumission et l'ID de tâche retourné ;
  • le status terminal, usage.credits et tout code d'erreur ;
  • l'URL retourné et l'emplacement de votre copie archivée ;
  • le statut d'approbation, le relecteur et une courte raison de rejet.

Gardez la soumission et l'interrogation comme des travaux séparés. Un worker peut soumettre une fois, stocker l'ID de la tâche et laisser un autre worker reprendre les demandes GET après un redémarrage. Définissez une limite d'interrogation locale, mais ne confondez pas cette limite avec une défaillance API : si votre processus arrête d'attendre, reprenez la même tâche plus tard.

Archivez les fichiers approuvés dans un stockage que vous contrôlez. Le contrat des tâches ne promet pas que le cycle de vie de la CDN d'un déploiement correspondra à la durée de vie de votre catalogue, et une page produit ne devrait pas dépendre d'un dossier de génération temporaire.[5]

Pour un lot sans code après que le premier prompt ait réussi, le workflow produit n8n montre la même structure de soumission et d'interrogation. Si vous voulez plus tard du mouvement, portez le produit approuvé et le contrat d'identité dans le workflow vidéo d'une photo produit.

Quand la génération est le mauvais outil

Conservez les pixels du produit d'origine et changez seulement la toile environnante quand :

  • l'étiquette exacte, le numéro de série ou la marque réglementaire doit rester lisible ;
  • la géométrie doit être pixel-identique sur un grand catalogue ;
  • le produit est transparent, réfléchissant ou couvert de texte fin répété ;
  • la destination utilise un seul modèle de fond blanc fixe ;
  • une couleur incorrecte ou un détail de paquet pourrait créer une plainte client matérielle.

Dans ces cas, supprimez l'arrière-plan, nettoyez le masque, placez la découpe sur une surface connue et créez l'ombre avec un modèle de conception déterministe. Une API générative peut toujours faire une plaque d'arrière-plan, mais elle n'a pas besoin de redessiner le produit.

FAQ

Quel est l'itinéraire d'API le moins cher à essayer en premier ?

Parmi les itinéraires de ce guide, Nano Banana 2 Lite était 0,015 $, ou 15 crédits, pour une image 1K terminée le 3 septembre 2026. Consultez la page du modèle en direct avant de budgéter car les tarifs peuvent changer.

Une photo peut-elle préserver l'arrière et les côtés d'un produit ?

Non. Elle peut guider la forme visible, le matériau et le placement des étiquettes. Elle ne peut pas reconstruire de façon fiable les faits que la source ne montre pas. Fournissez un autre angle de propriété ou évitez d'exposer la surface non visible.

Devrais-je demander au modèle de réécrire une étiquette floue ?

Pas pour la vérité de production. Utilisez l'œuvre d'art d'étiquette vérifiée ou la plaque du produit d'origine. Un nouvel ingrédient plausible, un dosage, une certification ou une garantie est toujours de fausses informations.

Devrais-je générer en 2K ou 4K immédiatement ?

Commencez à 1K pour valider l'identité, la composition et le recadrage. Montez seulement après que l'image réussisse ces vérifications et que le canal de livraison ait vraiment besoin de plus de pixels. OpenAI et Google documentent tous deux plusieurs tailles de sortie pour leurs modèles d'image actuels, tandis que la disponibilité et la facturation spécifiques au modèle diffèrent.[6][7]

Quel rapport d'aspect devrais-je utiliser pour les listes de produits ?

Utilisez le rapport requis par la destination. Pour un essai multi-modèle, 1:1 est un paramètre partagé sûr. Seedream 5.0 Pro accepte actuellement 1:1, 4:3, 3:4, 16:9, 9:16, 2:3 et 3:2, mais pas 4:5.[3]

L'API peut-elle retourner une image produit transparente ?

Cela dépend du modèle et de la surface de demande. Seedream 5.0 Pro expose une option d'arrière-plan transparent seulement pour une image de référence qui a déjà un canal alpha, et elle ne peut pas être combinée avec la décomposition de couche. Si votre photo de départ a un arrière-plan normal, un workflow de suppression dédié est la première étape plus claire.[3]

Les tâches échouées sont-elles facturées ?

Les défaillances du fournisseur et les délais d'expiration sont normalement remboursés, mais la réponse définitive est le usage.credits de la tâche terminale. Certaines décisions de sécurité post-génération peuvent conserver une charge spécifique au modèle même avec status: "failed". Ne calculez jamais la facture à partir du seul statut.[5]

Puis-je automatiser l'approbation ?

Vous pouvez automatiser les vérifications mécaniques telles que les dimensions, le décodage des fichiers, alpha, et le nombre de produits. La géométrie, la précision fine des étiquettes, la couleur et la sécurité des revendications ont toujours besoin d'une porte humaine sauf si vous avez un système de comparaison validé spécifique au produit. L'automatisation devrait acheminer les images incertaines vers l'examen, pas les publier silencieusement.

Commencez à 1K et escaladez seulement pour une erreur nommée

Un workflow utile d'API de photographie produit est conservateur. Il commence avec la source comme preuve, gèle l'identité du produit et reste à 1K jusqu'à ce que le produit lui-même soit correct. Il enregistre les rejets terminés, car ce sont des parties du coût réel. Et il sait quand une découpe plus un modèle est plus sûr qu'une autre génération imaginative.

C'est comme une simple photo ordinaire devient des images prêtes pour le magasin sans traiter un rendu attrayant comme la preuve que le produit a survécu.

Références

  1. reAPI. Nano Banana 2 Lite API: live pricing, request schema, and task lifecycle. Retrieved September 3, 2026 from the Nano Banana 2 Lite model page.
  2. reAPI. GPT Image 2 API: live pricing and request schema. Retrieved September 3, 2026 from the GPT Image 2 model page.
  3. reAPI. Seedream 5.0 Pro API reference. Retrieved September 3, 2026 from the Seedream 5.0 Pro documentation.
  4. reAPI. Gemini 3 Pro Image Preview API: live pricing and request schema. Retrieved September 3, 2026 from the Nano Banana Pro model page.
  5. reAPI. Tasks API: states, usage, polling, output, and refund semantics. Retrieved September 3, 2026 from the Tasks API reference.
  6. OpenAI. Image generation guide and GPT Image 2 model reference. Retrieved September 3, 2026 from the OpenAI developer documentation.
  7. Google. Gemini API image generation guide. Retrieved September 3, 2026 from the Google AI for Developers documentation.
  8. ByteDance Seed. Beyond Generation, It Understands Design: Introducing Seedream 5.0 Pro. Retrieved September 3, 2026 from the Seed product blog.

Further reading