Passer au contenu principal
L’édition d’images sur Venice est synchrone. Envoyez votre image source à /image/edit ou /image/multi-edit et le résultat édité revient dans la même réponse sous forme de fichier image. Pour les détourages, /image/background-remove renvoie un PNG transparent.
Les endpoints d’édition d’images sont expérimentaux et le comportement spécifique au modèle peut évoluer au fil du temps.

Endpoints

Venice ne propose pas d’endpoint /images/edits compatible OpenAI, donc les appels du SDK OpenAI tels que client.images.edit() renvoient 404. Envoyez plutôt vos éditions à /image/edit.

Quand utiliser quel endpoint

  • Utilisez /image/edit lorsque vous avez une image source et souhaitez modifier, supprimer ou restyler une partie de celle-ci avec un prompt.
  • Utilisez /image/multi-edit lorsque vous avez besoin de conditionner l’édition à des images de référence supplémentaires.
  • Utilisez /image/background-remove lorsque vous souhaitez uniquement un sujet de premier plan propre avec transparence.
Pour l’inpainting, utilisez /image/edit ou /image/multi-edit. L’ancien paramètre inpaint sur /image/generate est déprécié.
Définissez enhance_prompt: true sur l’un ou l’autre des endpoints d’édition pour qu’un enhancer conscient de l’image analyse l’image ou les images d’entrée et réécrive votre instruction avant l’édition. Voir Amélioration de prompt pour le comportement, la tarification et les détails de l’en-tête de réponse.

Étape 1 : Éditer une seule image

L’édition d’une seule image est le flux d’inpainting le plus simple. Envoyez une image et un prompt court tel que « remove the sign », « change the sky to sunrise » ou « replace the background with a studio backdrop ». Requête :
Réponse (200) : Le corps de la réponse est constitué de données binaires brutes d’image. Enregistrez-les directement dans un fichier. Le format est PNG pour les éditions 1K et JPEG pour les éditions 2K et 4K, ou PNG à toute résolution lorsque transparent_background vaut true. Définissez output_format sur jpeg, png ou webp pour le choisir explicitement. Les endpoints d’édition n’ont pas de paramètre response_format et ne peuvent donc pas renvoyer l’image en JSON base64. Si vous avez besoin du base64, encodez vous-même les octets de la réponse.

Étape 2 : Utiliser multi-edit avec des images de référence

/image/multi-edit accepte plusieurs images, et le plafond est spécifique au modèle. Lisez model_spec.constraints.maxInputImages depuis GET /models?type=inpaint pour obtenir le plafond d’un modèle donné. Lorsque le champ est absent, le plafond est de 3, ou de 1 lorsque combineImages vaut false. La première image est l’image de base. Les images restantes sont des références supplémentaires qui conditionnent l’édition.
L’endpoint public n’a pas de canal de masque. Les images supplémentaires agissent comme des références sur l’ensemble de l’image, pas comme des cartes de régions. Il n’existe pas de paramètre mask, et en envoyer un renvoie un 400. Rédigez un prompt précis pour délimiter la zone où l’édition s’applique.
C’est le meilleur choix lorsque vous souhaitez :
  • combiner une composition existante avec une image de référence supplémentaire
  • fournir au modèle des exemples du style, de l’objet ou de la texture à appliquer
  • contraindre l’édition plus étroitement qu’un prompt sur une seule image ne peut le faire
Requête JSON :
Requête multipart :
Comme pour /image/edit, le corps de la réponse est constitué de données d’image brutes, et le format de sortie suit les mêmes règles.
/image/multi-edit utilise actuellement le champ modelId plutôt que model dans le schéma de requête.

Conseils d’inpainting

L’inpainting basé sur prompt fonctionne mieux lorsque l’instruction est courte et locale :
  • remove the tree
  • change the sky to sunset
  • replace the logo with a blank sign
  • restore the torn corner of the photo
Pour des changements de scène plus larges, décrivez ce qui doit rester identique :
Si l’édition continue d’affecter la mauvaise zone, passez de /image/edit à /image/multi-edit et fournissez une image de référence supplémentaire montrant le résultat souhaité, puis décrivez précisément la modification voulue dans le prompt.

Étape 3 : Supprimer l’arrière-plan

Utilisez /image/background-remove lorsque vous souhaitez isoler le sujet de premier plan sur un arrière-plan transparent. Cet endpoint renvoie un PNG avec transparence alpha. En utilisant une URL d’image :
En utilisant un téléversement de fichier local :
Utilisez la suppression d’arrière-plan pour :
  • les photos de produits e-commerce
  • les photos de profil et les portraits
  • les assets que vous prévoyez de placer sur un nouvel arrière-plan
Si vous générez ou éditez l’image de toute façon, vous pouvez éviter ce second appel : /image/generate, /image/edit et /image/multi-edit acceptent transparent_background: true sur les modèles compatibles et renvoient directement le canal alpha. Voir Images à arrière-plan transparent pour la comparaison.

Paramètres de la requête

/image/edit

/image/multi-edit

/image/background-remove

/image/background-remove utilise un modèle interne fixe. Il n’accepte pas de champ model. Son envoi (par exemple "model": "bria-bg-remover") renvoie 400, car model n’est pas un champ reconnu.

Contenu adulte et mode sûr

/image/edit et /image/multi-edit acceptent tous deux safe_mode (par défaut : true). Lorsqu’il est activé, le contenu adulte dans le résultat édité est flouté ; envoyez donc safe_mode: false pour recevoir une sortie non floutée :
La sortie pour adultes (NSFW) non floutée est disponible pour tous les utilisateurs de l’API. Vous n’avez pas besoin d’un abonnement Pro, et le paramètre de filtre de contenu mature dans l’application Venice n’affecte pas les requêtes d’image effectuées via l’API. Les politiques de contenu varient selon le modèle d’édition et s’appliquent indépendamment de safe_mode. Pour une édition non censurée, utilisez qwen-edit-uncensored. La différence de nom du paramètre de modération entre les endpoints prête à confusion : Passer safe_mode à /images/generations renvoie une erreur 400 avec Unrecognized key(s) in object: 'safe_mode'.

Formats d’entrée pris en charge

Pour les endpoints d’édition, les images doivent faire au moins 256×256 pixels, et le nombre total de pixels ne doit pas dépasser 33 177 600 (résolution 8K). Les fichiers téléversés doivent faire moins de 25MB.

Modèles et tarification

Le modèle d’édition par défaut est firered-image-edit, au tarif de 0,04 pareˊdition∗∗.D′autresmodeˋlescapablesd′eˊditionpeuventavoirdestarifsetdescontraintesdiffeˊrents.L′ameˊliorationdepromptajoute∗∗0,04par édition**. D'autres modèles capables d'édition peuvent avoir des tarifs et des contraintes différents. L'amélioration de prompt ajoute **0,04 par réécriture appliquée au prix de l’édition. Voir :

Erreurs

Certains modèles d’édition ont des politiques de contenu plus strictes que les modèles de génération d’images. Les requêtes qui enfreignent la politique du modèle sélectionné sont rejetées avec 422.

Workflows liés