Aller au contenu principal

Choisir une API d'images sans censure pour le lancement : un plan de test de préparation

Plan de test pour une API d'images sans censure : entrées autorisées, tâches asynchrones, taux de résultats utilisables, rétention et livraison.

Auteur
SpicyAPI Engineering
Publié
Lecture
12 min de lecture
Mis à jour
Quatre images d'exemple encadrées à côté de cases de contrôle et de curseurs sur un bureau sombre

En bref : présélectionnez les endpoints par tâche et selon l'étiquette de contenu que le catalogue en direct attribue à chacun, puis testez vos propres briefs plusieurs fois chacun et comptez les résultats utilisables, pas les tâches terminées. Un endpoint étiqueté « adouci » renvoie une tâche réussie et facturée avec une image atténuée : un statut vert ne prouve donc rien. Et SpicyAPI n'analyse ni les requêtes ni les résultats ; les contrôles qui maintiennent votre produit dans le cadre de la loi et de vos propres règles sont à construire vous-même. Les étiquettes et les prix ci-dessous datent du début d'octobre 2026 ; le catalogue d'API de génération d'images sans censure en direct fait foi.

Ce que les étiquettes de contenu signifient pour une intégration

Chaque endpoint d'image du catalogue porte l'une de quatre étiquettes. Sur les 59 endpoints d'image actifs dans le catalogue, 40 sont étiquetés sans censure, 3 adoucis, 12 filtrés et 4 ne portent aucune étiquette (suppression d'arrière-plan, mise à l'échelle et utilitaires similaires).

ÉtiquetteCe que l'API fait d'un brief qui dépasse les limites du modèleCe que vous devez gérer
Sans censureLe modèle déclare n'avoir aucun filtre de contenu et SpicyAPI transmet la requête sans ajouter d'analyse.Vos propres contrôles avant et après l'appel.
AdouciLa tâche aboutit et est facturée, mais l'image revient atténuée.Vérifiez la sortie ; le code de statut ne vous le dira pas.
FiltréLe modèle refuse. La tâche se termine par failed avec errorCode: "content_rejected".Affichez un message neutre et ne relancez pas à l'identique. Un refus n'est normalement pas facturé ; quelques pages de modèle indiquent qu'il l'est, lisez donc la page.
Sans étiquetteNon mesuré.Ne présumez rien dans un sens ou dans l'autre.

L'étiquette appartient à un endpoint, pas à une famille : Wan 2.7 Pro texte vers image est adouci alors que son endpoint d'édition est sans censure ; un benchmark qui mélange les deux compare donc deux promesses différentes. Elle est aussi purement informative : elle vous dit à quoi vous attendre, pas ce qui est garanti.

Comme il n'y a pas d'analyse de la plateforme, les règles inconditionnelles de la politique de contenu et d'usage deviennent la responsabilité de votre produit : rien de sexualisé impliquant un mineur, aucune représentation intime d'une personne réelle identifiable sans consentement documenté (y compris le face swap), aucune usurpation d'identité. Mettez avant l'appel les contrôles d'âge, les registres de consentement pour toute entrée d'une personne réelle et un moyen de signaler du contenu par les utilisateurs. La version longue se trouve dans « Building on a less restrictive model » (uniquement en anglais pour l'instant).

Présélectionner par tâche, puis par étiquette et prix

Écrivez une phrase pour votre premier flux de travail, par exemple « éditer une image de mode sous licence, en changeant uniquement le fond ». Elle vous dit quelle tâche vous faut ; les tâches sont des entrées de catalogue distinctes avec des champs distincts. Les prix sont le prix « à partir de » le plus bas de chaque page ; la résolution, les références et les options modifient le montant final.

EndpointTâchesÉtiquetteÀ partir deCe que la page le présente comme
Qwen Image 3.0texte vers image, éditionSans censure$0.03Éditer une à trois images de référence, y compris réécrire un texte déjà présent dans le cadre
Seedream 5.0 Protexte vers image, éditionSans censure$0.036Composer un cadre à partir de dix images de référence au maximum, chacune avec un rôle nommé
Z-Image Spicytexte vers imageSans censure$0.0124Texte vers image aux dimensions exactes en pixels, expansion du prompt désactivée sauf si vous l'activez
Prefect Pony XLtexte vers imageSans censure$0.015Images fixes d'anime et d'illustration à partir de prompts de style étiquettes
Wan 2.7 Protexte vers image, éditionAdouci (texte vers image)$0.075Une image sur grand format, 2k par défaut, jusqu'à 4k ; le filtrage varie selon l'endpoint
Krea 2 Mediumtexte vers imageAdouci$0.03Une image à partir d'un long prompt dans cinq ratios courants, PNG par défaut ; pas de seed pour réorienter un résultat raté
Nano Banana 2texte vers image, éditionFiltré$0.036Édition avec jusqu'à quatorze images de référence, de 0.5K à 4K

Voici une présélection, pas un classement. Pour un produit destiné aux adultes, commencez par les lignes sans censure qui correspondent à votre tâche. Une ligne adoucie ne fonctionne que si vos briefs restent bien à l'intérieur de ses limites ; une ligne filtrée convient à la moitié tout public d'un produit mixte. Prefect Pony XL attend des étiquettes séparées par des virgules et sept tailles fixes : donnez-lui donc des prompts de style étiquettes plutôt que des briefs en phrases rédigés pour un modèle photoréaliste.

Chaque page de modèle renvoie un rapport de test, par exemple Z-Image Spicy et Seedream 5.0 Pro, avec des sorties réelles allant de suggestives à des scènes adultes intenses et un temps médian (environ 18 s pour Z-Image Spicy, environ 70 s pour Seedream 5.0 Pro). Lisez-les d'abord, puis mesurez l'attente entre la création d'une tâche et un résultat téléchargeable, mesurée depuis vos propres serveurs.

Testez vos propres briefs, pas un substitut poli

Rédigez les briefs à l'intensité que votre produit offrira réellement, avec des personnages adultes fictifs ou des entrées que vous êtes autorisé à utiliser. Un ensemble de substituts tout public peut faire passer un endpoint adouci, car l'adoucissement n'apparaît que lorsqu'un brief dépasse les limites du modèle. Gardez les briefs dans un dépôt de test privé, pas dans des tickets ni des documents publics. Exécutez chaque fixture trois fois : assez pour révéler l'instabilité, assez peu cher pour répéter après un changement.

IDFixtureCe qu'il vous apprend
01Votre brief le plus fréquent, à son intensité normaleLe taux de référence de résultats utilisables
02Le même brief à l'intensité la plus haute que vous autoriserezSi l'endpoint refuse, adoucit ou livre au sommet de votre plage
03Trois paraphrases anodines de la fixture 01Si un changement de formulation fait basculer le résultat
04Une image source autorisée avec une modification nommée (fond, couleur de vêtement, éclairage)Si la modification passe et si les parties protégées survivent
05La même modification avec deux images de référence, chacune avec un rôle nomméSi des références supplémentaires aident ou flouent le résultat, et ce qu'elles ajoutent au prix
06Le format de cadre que vous publiez (par exemple 9:16)Si la composition tient à votre vraie taille
07Un brief que votre application doit bloquerQue votre contrôle préalable l'arrête et qu'aucune tâche n'est créée
08Une requête coupée juste après l'envoiQue votre client récupère la tâche existante au lieu de payer deux fois

Convenez d'une règle de réussite écrite avant l'exécution : le sujet et la composition correspondent au brief, les zones protégées d'une édition restent inchangées, l'intensité n'est pas plus faible que demandé et il n'y a aucun défaut d'anatomie ou de lettrage qu'un client remarquerait. Notez deux chiffres par candidat : le taux de résultats utilisables (les sorties qui passent la règle, divisées par les tâches terminées) et le coût par résultat utilisable (la dépense totale divisée par le même décompte), ce qui rend comparable un endpoint bon marché mais adouci avec un endpoint plus cher mais fiable. Pour une grille de notation plus complète, utilisez le guide de benchmark des API d'images.

Essayez d'abord une fixture dans le Playground

  1. Ouvrez la page d'un endpoint présélectionné, par exemple Z-Image Spicy texte vers image, et connectez-vous avec un compte approvisionné. Le formulaire se trouve sur la page.
  2. Collez la fixture 01 dans Prompt et définissez la taille du cadre (Width et Height ici ; d'autres endpoints utilisent un champ de ratio d'aspect ou de taille).
  3. Lisez le prix sous le formulaire, appuyez sur Run et relancez l'exécution deux fois de plus pour voir la dispersion.
  4. Exécutez les fixtures 02 et 03 de la même manière, puis jugez chaque résultat selon votre règle de réussite avant d'écrire le moindre code.
Illustration de photogrammes de film traversant un projecteur pour former une image terminée

Des photogrammes de film traversent un projecteur pour former une image terminée.

Puis automatisez le même test

Une fois qu'une fixture se comporte comme attendu dans le Playground, exécutez-la depuis un fichier. Un devis est gratuit : il valide le corps exact que vous enverriez, ne crée rien et ne retient aucun fonds.

bash
spicyapi tasks quote --model alibaba/z-image-spicy/text-to-image --input-file fixture-01.json

Créez la tâche depuis le même fichier avec tasks create ; les nouvelles tentatives, l'interrogation et les résultats sont dans la documentation des tâches et la documentation de la CLI.

Ou laissez un agent l'exécuter. Avec le serveur MCP, un assistant établit un devis via spicyapi_task_quote, et npx skills add spicyapi-ai/spicy-skill installe l'Agent Skill qui lui fait lire le schéma en direct avant chaque appel.

Cinq faits changent la façon de construire votre harnais de test :

  • Un devis est le test le moins cher. Passez chaque fixture au devis avant la première exécution payante, et revérifiez l'étiquette de chaque endpoint en CI, car les étiquettes peuvent changer.
  • Chaque endpoint n'accepte que ses propres noms de champs ; les champs inconnus sont rejetés. La seule taille de sortie s'écrit de trois façons : Z-Image prend aspect_ratio, Prefect Pony XL un unique size, Z-Image Spicy width et height. Construisez un adaptateur par endpoint à partir de son schéma en direct, pas une requête partagée.
  • Les images de référence peuvent augmenter le prix. Chacune au-delà de la première ajoute au devis de Seedream 5.0 Pro : établissez donc le devis du corps exact avec le vrai nombre d'images de référence.
  • succeeded ne veut pas dire utilisable. Cela signifie seulement que le modèle a renvoyé quelque chose ; vérifiez chaque résultat selon votre règle de réussite, c'est là que les images adoucies se détectent. Les refus ne sont normalement pas facturés.
  • Une création qui expire peut toujours exister. Renvoyez-la avec la même clé d'idempotence au lieu de payer deux fois ; c'est la fixture 08.

Les liens de téléchargement et les fichiers générés expirent, copiez donc les images approuvées dans votre propre stockage en plaçant la référence de la tâche à côté d'elles (article sur la rétention des médias). Pour l'interrogation face aux webhooks, voir le guide « Polling versus webhooks » (uniquement en anglais pour l'instant).

Comment faire le choix

Écartez les endpoints qui ne publient pas la tâche dont votre premier flux de travail a besoin. Écartez ceux qui échouent aux fixtures 07 et 08. Comparez le reste sur le taux de résultats utilisables et le coût par résultat utilisable avec les mêmes briefs. Préférez l'endpoint sans censure au meilleur taux pour votre plage d'intensité ; ne gardez un endpoint adouci ou filtré que là où ses limites conviennent au brief, et dites-le dans les textes de votre produit au lieu de promettre « n'importe quoi ». Un repli doit passer les mêmes fixtures.

Questions fréquentes

Un endpoint sans censure est-il automatiquement le meilleur choix pour mon API ?

Non. Cela signifie qu'aucun filtre n'est déclaré, pas qu'il suit votre brief ni qu'il coûte moins cher par image utilisable.

Comment savoir si un endpoint adouci a atténué mon image ?

Comparez la fixture 02 à la fixture 01 : un endpoint adouci conserve le sujet mais perd l'intensité que vous avez demandée. Rien dans la réponse de la tâche ne le signale.

Un refus coûte-t-il quelque chose ?

Normalement non : les tâches échouées libèrent la totalité de la retenue. Quelques pages de modèle indiquent que certains refus sont facturés ; vérifiez donc le coût de la tâche avant de supposer que c'était gratuit.

Puis-je tester avec de vraies photos de clients ?

Pas au début. Utilisez des entrées autorisées ou synthétiques. Toute entrée d'une personne réelle exige un consentement documenté pour l'édition et la diffusion concernées, et tout ce qui implique un mineur n'est jamais autorisé.

Une tâche terminée signifie-t-elle que je peux montrer l'image aux utilisateurs ?

Non. Une tâche terminée signifie seulement que le modèle a renvoyé quelque chose. Vérifiez-la selon votre règle de réussite, qui est aussi l'endroit où un résultat adouci se détecte, et copiez les images approuvées dans votre propre stockage avant de les livrer.

À quelle fréquence dois-je relancer les contrôles ?

Avant le lancement, et après tout changement de modèle, d'étiquette, de prix ou de schéma.

Aussi en English · 日本語 · 한국어 · Deutsch · Español · Português (Brasil) · Русский · Italiano · Polski