Choisissez Auto, TokenLab Verified ou Official pour chaque demande, avec les prix affichés à l'avance.Voir les nouveautés

Guide de sélection d'API de retouche d'image par IA : Endpoints, entrées et unités de coût

·19 septembre 2026·14 min de lecture·Mis à jour 2 octobre 2026·1420 vues
#image#API IA#TokenLab
Guide de sélection d'API de retouche d'image par IA : Endpoints, entrées et unités de coût

La meilleure API d'édition d'images par IA est rarement celle qui possède la meilleure démo. C'est celle dont le point de terminaison, la forme des entrées et l'unité de facturation correspondent à l'édition que votre produit effectue réellement. Les éditions par masque, l'image-à-image guidé par référence et les opérations d'édition spécifiques à un modèle ne partagent pas le même contrat. Nous avons lu la documentation d'édition et les pages des modèles en direct de TokenLab le 03/10/2026, et tout ce qui suit provient de ces pages. Les points de terminaison d'image ne choisissent aucun modèle par défaut pour vous, envoyez donc toujours le model explicitement.

Points clés à retenir

  • Les éditions basées sur des masques sont envoyées à POST /v1/images/edits. Les éditions par référence Nano Banana sont envoyées à POST /v1/images/generations avec operation: "image-to-image".
  • Les unités de facturation diffèrent. gpt-image-2 et les modèles d'image Gemini sont facturés par token, tandis que flux-kontext-pro est facturé par requête à 0,04 $.
  • Les preuves ne contiennent aucun benchmark pour la qualité de l'inpainting, le rendu de texte, la préservation du style ou la fidélité des photos de produits. Testez ces aspects sur vos propres images.
  • Les éditions longues ou multi-images doivent utiliser async: true lorsque le modèle le prend en charge. Stockez l'ID de tâche et lisez la charge finale dans Usage.
  • Vérifiez le prix et l'unité sur la page de chaque modèle avant de vous engager, car l'API en direct évolue.

Choix initiaux par cas d'utilisation

Ces choix suivent le contrat documenté et le prix indiqué. Il ne s'agit pas de classements de qualité, car les preuves ne contiennent aucun benchmark de qualité d'édition. Considérez chacun comme le premier modèle à intégrer dans votre propre jeu de test.

Votre besoin Choix initial Pourquoi Source
Inpainting basé sur un masque gpt-image-2 C'est le seul modèle dont le contrat de masque est explicité : PNG, mêmes dimensions, les zones transparentes sont éditées. Référence Edit Image, 03/10/2026
Plusieurs images sources dans une seule édition gpt-image-2 Limite documentée de 16 images sources. Les modèles d'édition Grok Imagine sont limités à 3. Référence Edit Image, 03/10/2026
Édition par référence à prix fixe la moins chère grok-imagine-image 0,02 $ par requête, le prix fixe le plus bas de notre tableau. API du modèle en direct, 03/10/2026
Conserver la forme du produit, changer la scène nano-banana-pro L'exemple de référence documenté fait exactement cela, à 0,067 $ par image. Référence Create Image, 03/10/2026
Texte à l'intérieur d'images éditées Aucun choix Les preuves ne contiennent aucune donnée de rendu de texte pour aucun modèle d'édition. n/a

Meilleurs candidats pour une API d'édition d'images par IA : modèles, unités et prix

Le tableau répertorie tous les modèles de notre ensemble de preuves qui sont listés comme capables d'édition ou que la documentation d'édition nomme comme modèle d'édition. Tous les prix sont des prix publics TokenLab en USD. La tarification rapportée par l'API en direct a été mise à jour le 02/10/2026 à 16:53:30.068Z, et nous avons observé chaque page le 03/10/2026.

ID du modèle Capacités listées sur l'API en direct Unité de tarification Prix TokenLab (USD) Source Observé
gpt-image-2 text-to-image (édition documentée sur /v1/images/edits) per_token 3,50 $/1M entrée texte, 5,60 $/1M entrée image, 21 $/1M sortie image ; entrée texte mise en cache 0,875 $/1M API du modèle en direct 03/10/2026
flux-kontext-pro image-edit, image-to-image, text-to-image per_request 0,04 $ API du modèle en direct 03/10/2026
flux-pro-1.0-fill image-to-image per_image 0,035 $ API du modèle en direct 03/10/2026
flux-2-pro image-to-image, text-to-image per_image 0,03 $ API du modèle en direct 03/10/2026
nano-banana-pro image-edit, image-to-image, text-to-image per_image 0,067 $ (résumé de la fourchette de prix jusqu'à 0,12 $) API du modèle en direct 03/10/2026
gemini-3-pro-image image-to-image, text-to-image, vision per_token 1 $/1M entrée, 6 $/1M sortie texte, 60 $/1M sortie image API du modèle en direct 03/10/2026
gemini-3.1-flash-image image-to-image, text-to-image, vision per_token 0,25 $/1M entrée, 1,50 $/1M sortie texte, 30 $/1M sortie image API du modèle en direct 03/10/2026
grok-imagine-image image-to-image, text-to-image per_request 0,02 $ API du modèle en direct 03/10/2026

Lorsque nous avons comparé les pages, nous avons trouvé trois incohérences. L'API en direct liste gpt-image-2 comme étant uniquement text-to-image, alors que la Référence Edit Image indique qu'il est pris en charge sur /v1/images/edits. Les pages en direct pour flux-pro-1.0-fill et flux-2-pro listent image-to-image, alors que notre instantané de catalogue les étiquette tous deux comme image-edit. Et nano-banana-pro liste image-edit, mais sa documentation l'achemine via /v1/images/generations. Nous considérons la documentation comme faisant autorité pour le routage et l'API en direct comme faisant autorité pour le prix.

Pour les modèles à prix fixe, une estimation approximative est une simple multiplication. Ce sont des estimations, pas des devis, et elles supposent une charge par requête terminée :

  • 100 éditions sur grok-imagine-image : 100 × 0,02 $ = 2,00 $.
  • 100 éditions sur flux-2-pro : 100 × 0,03 $ = 3,00 $.
  • 100 éditions sur flux-pro-1.0-fill : 100 × 0,035 $ = 3,50 $.
  • 100 éditions sur flux-kontext-pro : 100 × 0,04 $ = 4,00 $.

Les preuves ne donnent aucune estimation par édition pour les modèles facturés au token. gpt-image-2 facture l'entrée texte, l'entrée image, l'entrée mise en cache rapportée et les tokens de sortie image, ce n'est donc pas un modèle à prix fixe par image. Les preuves n'incluent aucun nombre de tokens pour une édition typique. Effectuez quelques éditions réelles et lisez le coût dans Usage, comme décrit dans le Guide de facturation. La fourchette de prix de nano-banana-pro implique des niveaux de résolution, mais les preuves ne mappent pas les niveaux aux prix.

Ce que le point de terminaison d'édition accepte, et ce qu'il ne documente pas

La Référence Edit Image (observée le 03/10/2026) prend en charge un flux multipart compatible OpenAI et des requêtes JSON. Voici ce qu'elle indique pour gpt-image-2 :

  • Image d'entrée. Envoyez un multipart image, un JSON image_url / image_urls, ou des objets officiels images[]. Chaque objet images[] contient exactement un image_url ou un file_id. Créez d'abord les valeurs file_id via /v1/files.
  • Références multiples. Jusqu'à 16 images sources, chacune en PNG, JPEG ou WebP, jusqu'à 50 Mo. Répétez le champ image dans les requêtes multipart. En JSON, fournissez exactement un élément parmi image_url, image_urls ou images.
  • Masque. Un PNG de moins de 50 Mo avec les mêmes dimensions que l'image source. Les zones entièrement transparentes marquent l'endroit où l'édition s'applique. En JSON, mask peut être un objet avec exactement un image_url ou un file_id.
  • Sortie. size accepte auto ou WIDTHxHEIGHT. Les dimensions doivent être des multiples de 16, le bord le plus long au maximum de 3840px, le rapport long/court au maximum de 3:1, et le nombre total de pixels entre 655 360 et 8 294 400. N'envoyez pas resolution. background accepte auto ou opaque, pas transparent.
  • Champ rejeté. input_fidelity n'est pas pris en charge pour gpt-image-2, et son envoi renvoie 400 unsupported_parameter.
  • URLs distantes. Elles doivent être des http/https publics, sans identifiants ni fragments intégrés. Elles ne doivent pas pointer vers localhost, des plages privées ou réservées. Les limites sont de 50 Mo par image, 200 Mo au total par requête (masque inclus), un délai d'expiration de récupération de 30s et jusqu'à 3 redirections. La charge utile récupérée doit être un vrai PNG, JPEG ou WebP.

Les modèles d'édition Grok Imagine (grok-imagine-image, grok-imagine-image-quality) utilisent les mêmes champs d'entrée mais limitent les images sources à 3. Une requête avec plus d'images échoue avec 400 too_many_images.

Nano Banana est différent. La documentation indique que nano-banana-2 et nano-banana-pro acceptent les requêtes d'image de référence sur /v1/images/generations avec operation: "image-to-image" et image_urls. Ils n'appartiennent pas à /v1/images/edits. Les images[] et file_id de premier niveau sont des formes de flux d'édition et sont rejetés sur le point de terminaison de génération. Voici un exemple documenté pour nano-banana-pro, qui accepte resolution :

{
  "model": "nano-banana-pro",
  "prompt": "Keep the product shape, change the background to a bright studio setup",
  "operation": "image-to-image",
  "image_urls": ["https://example.com/input/product.png"],
  "aspect_ratio": "1:1",
  "resolution": "2k"
}

Pour les familles d'images Google, la Référence Create Image indique de préférer aspect_ratio et d'envoyer resolution (1k, 2k, 4k) uniquement là où le modèle le prend en charge. Les détails du modèle pour nano-banana-2 sont liés ici, mais l'ensemble de preuves n'inclut pas son prix.

Non documenté dans les preuves :

  • Si des modèles autres que gpt-image-2 acceptent mask sur /v1/images/edits, y compris flux-pro-1.0-fill et stability-inpaint.
  • Comment un masque unique s'applique lorsque vous envoyez plusieurs images sources.
  • Les limites d'images sources pour les modèles FLUX et Nano Banana.
  • Si l'ordre des images dans une requête multi-images affecte le résultat.

Lisez la page de détails du modèle avant de construire sur l'un d'entre eux.

Une requête d'édition complète

Cette requête utilise uniquement des champs documentés pour gpt-image-2 : une image source, un masque, un prompt, size et async. Elle suit l'exemple multipart dans la Référence Edit Image.

curl -X POST "https://api.tokenlab.sh/v1/images/edits" \
  -H "Authorization: Bearer $TOKENLAB_API_KEY" \
  -F "model=gpt-image-2" \
  -F "image=@source.png" \
  -F "mask=@mask.png" \
  -F "prompt=A sunlit indoor lounge area with a pool" \
  -F "n=1" \
  -F "size=1024x1024" \
  -F "async=true"

Avec async=true, la réponse contient status: "pending", task_id et poll_url, et data reste vide. Supprimez la ligne async pour un appel synchrone. Un appel synchrone renvoie data[].url par défaut, ou data[].b64_json si vous définissez response_format. Interrogez la tâche comme ceci :

curl "https://api.tokenlab.sh/v1/tasks/$TASK_ID" \
  -H "Authorization: Bearer $TOKENLAB_API_KEY"

Les détails du modèle pour gpt-image-2 se trouvent sur sa page de modèle. Pour un appel synchrone, réglez le délai d'expiration de votre client HTTP sur au moins 120s, car les requêtes haute résolution peuvent prendre près d'une minute ou plus.

Choisir la meilleure API d'édition d'images par IA par tâche

Les preuves indiquent le routage, les entrées et les prix. Elles ne contiennent aucun benchmark de qualité d'édition, donc chaque question « lequel est le meilleur » ci-dessous nécessite votre propre jeu de test.

Inpainting. gpt-image-2 est le seul modèle dont la documentation explicite le contrat de masque. Le catalogue liste également des outils dédiés à la région et à la structure : stability-inpaint, stability-control-structure et stability-control-sketch. Pour les éditions de remplissage et contextuelles, il existe flux-pro-1.0-fill à 0,035 $ par image et flux-kontext-pro à 0,04 $ par requête. Les preuves ne disent pas lequel produit les raccords les plus propres.

Éditions préservant le style. L'exemple de référence documenté conserve la forme d'un produit et change l'environnement. C'est le modèle nano-banana-pro sur /v1/images/generations. flux-kontext-pro liste la capacité image-edit. Aucune des deux affirmations n'est benchmarkée ici pour la rétention d'identité ou de style.

Texte dans les images. Les preuves ne contiennent aucune information sur le rendu de texte pour aucun modèle d'édition. ideogram-edit-v3 et ideogram-reframe-v3 existent dans le catalogue, mais nous n'avons trouvé aucune donnée sur la qualité du texte. Testez avec vos propres copies, polices et langues.

Photos de produits. Imaginez une équipe de catalogue qui échange les arrière-plans sur des milliers de packshots. Les outils utilitaires sont le premier choix naturel : image-background-remover, image-upscaler et stability-upscale-fast. Leurs règles de tarification et d'entrée ne sont pas dans nos preuves, lisez donc chaque page de modèle. Pour les échanges d'arrière-plan génératifs, une tarification fixe par requête facilite la prévision des coûts par lot. La tarification par token les rend dépendants de la taille de l'image et de la sortie.

Les exigences d'entrée sont par modèle, pas par fournisseur. Certains modèles prennent une image source plus un prompt, certains prennent un masque, et certains prennent des entrées structurelles. Vérifiez les opérations prises en charge et les champs de requête de chaque modèle sur sa page de détails. Vous pouvez parcourir les options actuelles dans le répertoire des modèles.

Gestion asynchrone et confirmation des coûts pour les éditions

Le Guide de génération d'images et le Guide des tâches asynchrones (tous deux observés le 03/10/2026) décrivent le flux. async: true est documenté pour gpt-image-2 et les modèles d'édition officiels FLUX/BFL. La réponse de création renvoie status: "pending", task_id et poll_url. Interrogez poll_url lorsqu'il est présent, ou GET /v1/tasks/{id} pour une URL fixe. Les statuts sont pending, processing, completed et failed. La documentation suggère de vérifier toutes les 5 à 10 secondes pour les longs travaux multimédias et de s'arrêter à un statut terminal.

Quatre détails causent la plupart des bugs :

  • Une lecture de statut renvoie HTTP 200 même lorsque la tâche a échoué. Segmentez sur status, et sur error_details.code et type pour les échecs.
  • Les éditions asynchrones terminées renvoient des URLs indépendamment de response_format. Utilisez une requête synchrone lorsque vous avez besoin de b64_json.
  • Après un délai d'expiration du client, vérifiez si une tâche existe avant de réessayer l'appel de création. Réessayer une génération échouée crée une nouvelle tâche et peut créer une nouvelle charge.
  • Les URLs de résultat peuvent être conservées comme copies multimédias pendant 30 jours. Vérifiez media_retention.items pour le statut de chaque élément et expires_at.

Pour le coût, le Guide de facturation indique que la Console affiche l'estimation maximale avant que vous ne confirmiez une génération payante, et Usage affiche la charge finale. Une tâche asynchrone peut réserver son coût estimé lorsqu'elle est acceptée. Une tâche terminée est facturée une fois, et une tâche échouée ou ayant expiré libère ou rembourse le montant en attente. Les options de livraison comptent aussi. TokenLab Verified utilise les prix publics TokenLab, Official utilise la couche de prix officielle, et Auto essaie Verified d'abord, puis Official. Un tiret dans la colonne de prix de la page Modèles signifie qu'aucune offre Verified n'est disponible, pas que le modèle est gratuit. Une limite de dépenses sur une clé API renvoie 402 Payment Required une fois atteinte.

Stockez request_id, task_id, poll_url, billing_transaction_id (lorsqu'il est présent), le modèle, le point de terminaison et votre propre ID de travail ensemble. En pratique, cet enregistrement règle la plupart des questions d'incohérence de facturation. Les preuves documentent l'annulation de tâche uniquement pour les tâches vidéo Seedance en file d'attente. L'annulation pour les éditions d'images n'est pas documentée, concevez donc votre flux sans elle.

FAQ

Puis-je envoyer un masque à chaque modèle d'édition d'image ?

Les preuves documentent uniquement les masques pour gpt-image-2 sur /v1/images/edits. Le masque doit être un PNG de moins de 50 Mo avec les mêmes dimensions que la source, et les zones transparentes sont éditées. Pour les autres modèles, y compris flux-pro-1.0-fill, vérifiez la page de détails du modèle avant de supposer la prise en charge des masques.

Quel point de terminaison utilisent les éditions Nano Banana ?

Utilisez POST /v1/images/generations avec operation: "image-to-image" et image_urls. L'envoi de requêtes de référence Nano Banana à /v1/images/edits n'est pas pris en charge. N'envoyez pas non plus de images[] ou file_id de premier niveau au point de terminaison de génération.

Pourquoi mon édition gpt-image-2 renvoie-t-elle 400 unsupported_parameter ?

La cause la plus documentée est input_fidelity, qui n'est pas un champ pris en charge pour gpt-image-2. Supprimez également resolution et toute valeur background: "transparent". Le tableau des erreurs courantes conseille de supprimer tout champ que le modèle ne documente pas.

Suis-je facturé lorsqu'une tâche d'édition asynchrone échoue ?

Le guide de facturation indique qu'une tâche échouée n'est pas facturée, et que son montant réservé est libéré ou remboursé. Une tâche terminée est facturée une fois, et le montant final apparaît dans Usage avec un billing_transaction_id. Si Usage n'affiche toujours rien après la fin de la tâche, contactez support@tokenlab.sh avec l'ID de requête et l'ID de tâche.

Pour exécuter les requêtes ci-dessus, créez une clé API sous Console → API Keys (les limites de clé sont expliquées dans le Guide de facturation), exportez-la en tant que TOKENLAB_API_KEY, et comparez vos éditions d'exemple avec le coût final dans Usage.

Sources

Prix observé le 2026-10-03

Modèles liés

Modèles récemment publiés

Construire avec les modèles de ce guide

Comparez les prix, testez les routes et transformez la recherche en appel API fonctionnel.