Structure de demande et de réponse pour la génération d'images - Amazon Nova

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Structure de demande et de réponse pour la génération d'images

Génération d'images

Les exemples suivants présentent différents cas d'utilisation de la génération d'images. Chaque exemple fournit une explication des champs utilisés pour la génération d'images.

Text-to-image request
{ "taskType": "TEXT_IMAGE", "textToImageParams": { "text": string, "negativeText": string, "style": "3D_ANIMATED_FAMILY_FILM" | "DESIGN_SKETCH" | "FLAT_VECTOR_ILLUSTRATION" | "GRAPHIC_NOVEL_ILLUSTRATION" | "MAXIMALISM" | "MIDCENTURY_RETRO" | "PHOTOREALISM" | "SOFT_DIGITAL_PAINTING" }, "imageGenerationConfig": { "width": int, "height": int, "quality": "standard" | "premium", "cfgScale": float, "seed": int, "numberOfImages": int } }

Les textToImageParams champs suivants sont utilisés dans cette demande :

  • text(Obligatoire) — Une invite de texte pour générer l'image. L'invite doit comporter de 1 à 1024 caractères.

  • negativeText(Facultatif) — Une invite de texte pour définir les éléments à ne pas inclure dans l'image. Cette valeur doit comporter de 1 à 1024 caractères.

  • style(Facultatif) — Spécifie le style utilisé pour générer cette image. Pour de plus amples informations, veuillez consulter Styles visuels.

Note

Évitez d'utiliser des mots négatifs (« non », « non », « sans », etc.) dans vos negativeText valeurs text et. Par exemple, si vous ne voulez pas de miroirs dans une image, au lieu d'inclure « pas de miroirs » ou « sans miroirs » dans le text champ, utilisez le mot « miroirs » dans le negativeText champ.

Text-to-image request with image conditioning
{ "taskType": "TEXT_IMAGE", "textToImageParams": { "conditionImage": string (Base64 encoded image), "controlMode": "CANNY_EDGE" | "SEGMENTATION", "controlStrength": float, "text": string, "negativeText": string, "style": "3D_ANIMATED_FAMILY_FILM" | "DESIGN_SKETCH" | "FLAT_VECTOR_ILLUSTRATION" | "GRAPHIC_NOVEL_ILLUSTRATION" | "MAXIMALISM" | "MIDCENTURY_RETRO" | "PHOTOREALISM" | "SOFT_DIGITAL_PAINTING" }, "imageGenerationConfig": { "width": int, "height": int, "quality": "standard" | "premium", "cfgScale": float, "seed": int, "numberOfImages": int } }

Les textToImageParams champs suivants sont utilisés dans cette demande :

  • conditionImage(Obligatoire) — Une image JPEG ou PNG qui guide la mise en page et la composition de l'image générée. L'image doit être formatée en tant que chaîne Base64. Voir Images d'entrée pour la génération d'images pour les exigences supplémentaires.

  • controlMode(Facultatif) — Spécifie le mode de conditionnement à utiliser. La valeur par défaut est « CANNY_EDGE ».

    • CANNY_EDGE— Les éléments de l'image générée suivront de près les contours proéminents, ou « bords », de l'image de condition.

    • SEGMENTATION— L'image de condition sera automatiquement analysée pour identifier les formes de contenu importantes. Cette analyse aboutit à un masque de segmentation qui guide la génération, ce qui donne une image générée qui suit de près la mise en page de l'image de condition mais laisse au modèle une plus grande liberté dans les limites de chaque zone de contenu.

  • controlStrength(Facultatif) — Spécifie dans quelle mesure la mise en page et la composition de l'image générée doivent être similaires à celles deconditionImage. La plage est comprise entre 0 et 1,0, et des valeurs faibles introduisent un caractère plus aléatoire. La valeur par défaut est 0,7.

  • text(Obligatoire) — Une invite de texte pour générer l'image. L'invite doit comporter de 1 à 1024 caractères.

  • negativeText(Facultatif) — Une invite de texte pour définir les éléments à ne pas inclure dans l'image. Cette valeur doit comporter de 1 à 1024 caractères.

  • style(Facultatif) — Spécifie le style utilisé pour générer cette image. Pour de plus amples informations, veuillez consulter Styles visuels.

Note

Évitez d'utiliser des mots négatifs (« non », « non », « sans », etc.) dans vos negativeText valeurs text et. Par exemple, si vous ne voulez pas de miroirs dans une image, au lieu d'inclure « pas de miroirs » ou « sans miroirs » dans le text champ, utilisez le mot « miroirs » dans le negativeText champ.

Color guided image generation request
{ "taskType": "COLOR_GUIDED_GENERATION", "colorGuidedGenerationParams": { "colors": string[] (list of hexadecimal color values), "referenceImage": string (Base64 encoded image), "text": string, "negativeText": string, "style": "3D_ANIMATED_FAMILY_FILM" | "DESIGN_SKETCH" | "FLAT_VECTOR_ILLUSTRATION" | "GRAPHIC_NOVEL_ILLUSTRATION" | "MAXIMALISM" | "MIDCENTURY_RETRO" | "PHOTOREALISM" | "SOFT_DIGITAL_PAINTING" }, "imageGenerationConfig": { "width": int, "height": int, "quality": "standard" | "premium", "cfgScale": float, "seed": int, "numberOfImages": int } }

Les colorGuidedGenerationParams champs suivants sont utilisés dans cette demande :

  • colors(Obligatoire) — Une liste de 10 codes couleurs maximum qui définissent la palette de couleurs souhaitée pour votre image. Exprimé sous forme de valeurs hexadécimales sous la forme « #RRGGBB ». Par exemple, « #00FF00 » est vert pur et « # FCF2 AB » est jaune chaud. La colors liste a le plus d'effet lorsqu'aucun a n'referenceImageest fourni. Dans le cas contraire, les couleurs de la liste et celles de l'image de référence seront toutes deux utilisées dans le résultat final.

  • referenceImage(Facultatif) — Une image JPEG ou PNG à utiliser comme sujet et référence de style. Les couleurs de l'image seront également incorporées dans votre résultat final, ainsi que les couleurs de la colors liste. Voir Images d'entrée pour la génération d'images pour les exigences supplémentaires.

  • text(Obligatoire) — Une invite de texte pour générer l'image. L'invite doit comporter de 1 à 1024 caractères.

  • negativeText(Facultatif) — Une invite de texte pour définir les éléments à ne pas inclure dans l'image. Cette valeur doit comporter de 1 à 1024 caractères.

  • style(Facultatif) — Spécifie le style utilisé pour générer cette image. Pour de plus amples informations, veuillez consulter Styles visuels.

Note

Évitez d'utiliser des mots négatifs (« non », « non », « sans », etc.) dans vos negativeText valeurs text et. Par exemple, si vous ne voulez pas de miroirs dans une image, au lieu d'inclure « pas de miroirs » ou « sans miroirs » dans le text champ, utilisez le mot « miroirs » dans le negativeText champ.

Image variation request
{ "taskType": "IMAGE_VARIATION", "imageVariationParams": { "images": string[] (list of Base64 encoded images), "similarityStrength": float, "text": string, "negativeText": string, "style": "3D_ANIMATED_FAMILY_FILM" | "DESIGN_SKETCH" | "FLAT_VECTOR_ILLUSTRATION" | "GRAPHIC_NOVEL_ILLUSTRATION" | "MAXIMALISM" | "MIDCENTURY_RETRO" | "PHOTOREALISM" | "SOFT_DIGITAL_PAINTING" }, "imageGenerationConfig": { "height": int, "width": int, "cfgScale": float, "seed": int, "numberOfImages": int } }

Les imageVariationParams champs suivants sont utilisés dans cette demande :

  • images(Obligatoire) - Une liste de 1 à 5 images à utiliser comme références. Chacune doit être au format JPEG ou PNG et codée sous forme de chaînes Base64. Voir Images d'entrée pour la génération d'images pour les exigences supplémentaires.

  • similarityStrength(Facultatif) — Spécifie dans quelle mesure l'image générée doit être similaire aux images d'entrée. Les valeurs valides sont comprises entre 0,2 et 1,0, les valeurs les plus faibles étant utilisées pour introduire davantage de caractère aléatoire.

  • text(Obligatoire) — Une invite de texte pour générer l'image. L'invite doit comporter de 1 à 1024 caractères. Si vous omettez ce champ, le modèle supprimera les éléments situés à l'intérieur de la zone masquée. Ils seront remplacés par une extension fluide de l'arrière-plan de l'image.

  • negativeText(Facultatif) — Une invite de texte pour définir les éléments à ne pas inclure dans l'image. Cette valeur doit comporter de 1 à 1024 caractères.

  • style(Facultatif) — Spécifie le style utilisé pour générer cette image. Pour de plus amples informations, veuillez consulter Styles visuels.

Note

Évitez d'utiliser des mots négatifs (« non », « non », « sans », etc.) dans vos negativeText valeurs text et. Par exemple, si vous ne voulez pas de miroirs dans une image, au lieu d'inclure « pas de miroirs » ou « sans miroirs » dans le text champ, utilisez le mot « miroirs » dans le negativeText champ.

Retouche d'image

Les exemples suivants présentent différents cas d'utilisation de la retouche d'image. Chaque exemple fournit une explication des champs utilisés pour modifier l'image.

Inpainting request
{ "taskType": "INPAINTING", "inPaintingParams": { "image": string (Base64 encoded image), "maskPrompt": string, "maskImage": string (Base64 encoded image), "text": string, "negativeText": string }, "imageGenerationConfig": { "numberOfImages": int, "quality": "standard" | "premium", "cfgScale": float, "seed": int } }

Les inPaintingParams champs suivants sont utilisés dans cette demande :

  • image(Obligatoire) - Le fichier JPEG ou PNG que vous souhaitez modifier, formaté sous forme de chaîne Base64. Voir Images d'entrée pour la génération d'images pour les exigences supplémentaires.

  • maskPromptou maskImage (Obligatoire) — Vous devez spécifier le maskPrompt ou le maskImage paramètre, mais pas les deux.

    maskPromptIl s'agit d'une invite textuelle en langage naturel qui décrit les zones de l'image à modifier.

    maskImageIl s'agit d'une image qui définit les zones de l'image à modifier. L'image du masque doit avoir la même taille que l'image d'entrée. Les zones à modifier sont ombrées en noir pur et les zones à ignorer sont ombrées en blanc pur. Aucune autre couleur n'est autorisée dans l'image du masque.

    Notez que les demandes de peinture intérieure et extérieure sont opposées en ce qui concerne les exigences de couleur des images du masque.

  • text(Obligatoire) — Une invite textuelle qui décrit ce qu'il faut générer dans la zone masquée. L'invite doit comporter de 1 à 1024 caractères. Si vous omettez ce champ, le modèle supprimera les éléments situés à l'intérieur de la zone masquée. Ils seront remplacés par une extension fluide de l'arrière-plan de l'image.

  • negativeText(Facultatif) — Une invite de texte pour définir les éléments à ne pas inclure dans l'image. Cette valeur doit comporter de 1 à 1024 caractères.

Note

Évitez d'utiliser des mots négatifs (« non », « non », « sans », etc.) dans vos negativeText valeurs text et. Par exemple, si vous ne voulez pas de miroirs dans une image, au lieu d'inclure « pas de miroirs » ou « sans miroirs » dans le text champ, utilisez le mot « miroirs » dans le negativeText champ.

Outpainting request
{ "taskType": "OUTPAINTING", "outPaintingParams": { "image": string (Base64 encoded image), "maskPrompt": string, "maskImage": string (Base64 encoded image), "outPaintingMode": "DEFAULT" | "PRECISE", "text": string, "negativeText": string }, "imageGenerationConfig": { "numberOfImages": int, "quality": "standard" | "premium", "cfgScale": float, "seed": int } }

Les outPaintingParams champs suivants sont utilisés dans cette demande :

  • image(Obligatoire) - Le fichier JPEG ou PNG que vous souhaitez modifier, formaté sous forme de chaîne Base64. Voir Images d'entrée pour la génération d'images pour les exigences supplémentaires.

  • maskPromptou maskImage (Obligatoire) — Vous devez spécifier le maskPrompt ou le maskImage paramètre, mais pas les deux.

    maskPromptIl s'agit d'une invite textuelle en langage naturel qui décrit les zones de l'image à modifier.

    maskImageIl s'agit d'une image qui définit les zones de l'image à modifier. L'image du masque doit avoir la même taille que l'image d'entrée. Les zones à modifier sont ombrées en noir pur et les zones à ignorer sont ombrées en blanc pur. Aucune autre couleur n'est autorisée dans l'image du masque.

    Notez que les demandes de peinture intérieure et extérieure sont opposées en ce qui concerne les exigences de couleur des images du masque.

  • outPaintingMode- Détermine la manière dont le masque que vous fournissez est interprété.

    DEFAULTÀ utiliser pour effectuer une transition fluide entre la zone masquée et la zone non masquée. Certains des pixels d'origine sont utilisés comme point de départ pour le nouvel arrière-plan. Ce mode est généralement préférable lorsque vous souhaitez que le nouvel arrière-plan utilise des couleurs similaires à celles de l'arrière-plan d'origine. Cependant, vous pouvez obtenir un effet de halo si votre invite demande un nouvel arrière-plan sensiblement différent de l'arrière-plan d'origine.

    PRECISEÀ utiliser pour respecter strictement les limites du masque. Ce mode est généralement préférable lorsque vous apportez des modifications importantes à l'arrière-plan.

  • text(Obligatoire) — Une invite textuelle qui décrit ce qu'il faut générer dans la zone masquée. L'invite doit comporter de 1 à 1024 caractères. Si vous omettez ce champ, le modèle supprimera les éléments situés à l'intérieur de la zone masquée. Ils seront remplacés par une extension fluide de l'arrière-plan de l'image.

  • negativeText(Facultatif) — Une invite de texte pour définir les éléments à ne pas inclure dans l'image. Cette valeur doit comporter de 1 à 1024 caractères.

Note

Évitez d'utiliser des mots négatifs (« non », « non », « sans », etc.) dans vos negativeText valeurs text et. Par exemple, si vous ne voulez pas de miroirs dans une image, au lieu d'inclure « pas de miroirs » ou « sans miroirs » dans le text champ, utilisez le mot « miroirs » dans le negativeText champ.

Background removal request
{ "taskType": "BACKGROUND_REMOVAL", "backgroundRemovalParams": { "image": string (Base64 encoded image) } }

Le backgroundRemovalParams champ suivant est utilisé dans cette demande :

La BACKGROUND_REMOVAL tâche renverra une image PNG avec une transparence totale de 8 bits. Ce format permet une isolation fluide et nette des objets du premier plan et facilite la composition de l'image avec d'autres éléments dans une application de retouche d'image, une présentation ou un site Web. L'arrière-plan peut facilement être changé en une couleur unie à l'aide d'un simple code personnalisé.

Virtual try-on
{ "taskType": "VIRTUAL_TRY_ON", "virtualTryOnParams": { "sourceImage": string (Base64 encoded image), "referenceImage": string (Base64 encoded image), "maskType": "IMAGE" | "GARMENT" | "PROMPT", "imageBasedMask":{ "maskImage": string (Base64 encoded image), }, "garmentBasedMask":{ "maskShape": "CONTOUR" | "BOUNDING_BOX" | "DEFAULT", "garmentClass": "UPPER_BODY" | "LOWER_BODY" | "FULL_BODY" | "FOOTWEAR" | "LONG_SLEEVE_SHIRT" | "SHORT_SLEEVE_SHIRT" | "NO_SLEEVE_SHIRT" | "OTHER_UPPER_BODY" | "LONG_PANTS" | "SHORT_PANTS" | "OTHER_LOWER_BODY" | "LONG_DRESS" | "SHORT_DRESS" | "FULL_BODY_OUTFIT" | "OTHER_FULL_BODY" | "SHOES" | "BOOTS" | "OTHER_FOOTWEAR", "garmentStyling":{ "longSleeveStyle": "SLEEVE_DOWN" | "SLEEVE_UP", "tuckingStyle": "UNTUCKED" | "TUCKED", "outerLayerStyle": "CLOSED" | "OPEN", } }, "promptBasedMask":{ "maskShape": "BOUNDING_BOX" | "CONTOUR" | "DEFAULT", "maskPrompt": string, }, "maskExclusions": { "preserveBodyPose": "ON" | "OFF" | "DEFAULT", "preserveHands": "ON" | "OFF" | "DEFAULT", "preserveFace": "OFF" | "ON" | "DEFAULT" }, "mergeStyle" : "BALANCED" | "SEAMLESS" | "DETAILED" , "returnMask": boolean, }, "imageGenerationConfig": { "numberOfImages": int, "quality": "standard" | "premium", "cfgScale": float, "seed": int } }

Les virtualTryOnParams champs suivants sont utilisés dans cette demande :

  • sourceImage(Obligatoire) — Le fichier JPEG ou PNG que vous souhaitez modifier, formaté sous forme de chaîne Base64. Voir Images d'entrée pour la génération d'images pour les exigences supplémentaires.

  • referenceImage(Obligatoire) — Le fichier JPEG ou PNG contenant l'objet que vous souhaitez superposer à l'image source, formaté sous forme de chaîne Base64. Voir Images d'entrée pour la génération d'images pour les exigences supplémentaires.

  • maskType(Obligatoire) — Spécifie si le masque est fourni sous forme d'image, d'invite ou de masque de vêtement.

  • imageBasedMask— Obligatoire quand maskType c'est le cas"IMAGE".

    maskImageIl s'agit d'une image qui définit les zones de l'image à modifier. L'image du masque doit avoir la même taille que l'image d'entrée. Les zones à modifier sont ombrées en noir pur et les zones à ignorer sont ombrées en blanc pur. Aucune autre couleur n'est autorisée dans l'image du masque.

  • garmentBasedMask— Obligatoire quand maskType c'est le cas"GARMENT".

    • maskShape(Facultatif) — Définit la forme du cadre de délimitation du masque. La forme et la taille du cadre de délimitation peuvent avoir une incidence sur la manière dont l'image de référence est transférée vers l'image source.

    • garmentClass(Obligatoire) — Définit le vêtement qui est transféré. Ce paramètre permet au modèle de se concentrer sur des parties spécifiques de l'image de référence que vous souhaitez transférer.

    • garmentStyling(Facultatif) — Fournit des éléments de style au modèle pour certains vêtements. Les tuckingStyle paramètres longSleeveStyle et s'appliquent uniquement aux vêtements du haut du corps. Le outerLayerStyle paramètre s'applique uniquement à la couche extérieure des vêtements du haut du corps.

  • promptBasedMask(Obligatoire) — Obligatoire quand maskType c'est le cas"PROMPT".

    • maskShape(Facultatif) — Définit la forme du cadre de délimitation du masque. La forme et la taille du cadre de délimitation peuvent avoir une incidence sur la manière dont l'image de référence est transférée vers l'image source.

    • maskPrompt(Obligatoire) — Une invite textuelle en langage naturel qui décrit les zones de l'image à modifier.

  • maskExclusions(Facultatif) — Lorsqu'une personne est détectée sur l'image source, ces paramètres déterminent si la pose de son corps, ses mains et son visage doivent être conservés dans l'image de sortie ou régénérés.

  • mergeStyle(Facultatif) — Détermine la manière dont les images source et de référence sont assemblées. Chaque style de fusion adopte une approche différente pour assembler les éléments pour créer l'image finale, chacun ayant ses propres avantages et inconvénients.

    • "BALANCED"- Protège tous les pixels non masqués de l'image d'origine, en garantissant leur fidélité à 100 % par rapport à l'original. Dans certains cas, il peut y avoir une légère différence de couleur ou de texture perceptible dans l'image de sortie, qui se présente comme une sorte d'image « fantôme » de la forme du masque. Cela se produit le plus souvent lorsque l'image montre une personne debout sur un arrière-plan de couleur unie ou à texture uniforme. Pour éviter cela, vous pouvez utiliser le style de "SEAMLESS" fusion à la place.

    • "SEAMLESS"- Garantit qu'il n'y aura jamais de joint visible entre les zones masquées et non masquées de l'image finale. L'inconvénient est que ce mode entraîne une légère modification de tous les pixels de l'image et peut parfois diminuer les détails fins dans les zones non masquées de l'image.

    • "DETAILED"- Peut améliorer considérablement les détails fins tels que les logos et le texte, en particulier lorsque la zone masquée est relativement petite par rapport à l'image globale. Le modèle y parvient en peignant une version légèrement recadrée et à plus haute résolution de l'image d'origine qui inclut uniquement la zone masquée. Il fusionne ensuite le résultat dans l'image d'origine. Comme dans le cas du "BALANCED" mode d'utilisation, ce mode peut parfois donner lieu à une couture visible.

  • returnMask(Facultatif) — Spécifie si l'image du masque est renvoyée avec l'image de sortie.

Corps de la réponse

Le corps de la réponse contiendra un ou plusieurs des champs suivants :

{ "images": "images": string[] (list of Base64 encoded images), "maskImage": string (Base64 encoded image), "error": string }
  • images— En cas de succès, une liste de chaînes codées en Base64 représentant chaque image générée est renvoyée. Cette liste ne contient pas toujours le même nombre d'images que celui que vous avez demandé. Les images individuelles peuvent être bloquées après leur génération si elles ne sont pas conformes à la politique de modération du contenu de l'IA AWS responsable (RAI). Seules les images conformes à la politique RAI sont renvoyées.

  • maskImage- Lorsque vous avez spécifié que l'image du masque doit être renvoyée avec la sortie, c'est ici qu'elle est renvoyée.

  • error— Si une image ne correspond pas à la politique RAI, ce champ est renvoyé. Dans le cas contraire, ce champ est omis de la réponse.

Le imageGenerationConfig champ est commun à tous les types de tâches, à l'exception deBACKGROUND_REMOVAL. Il est facultatif et contient les champs suivants. Si vous omettez cet objet, les configurations par défaut sont utilisées.

  • widthet height (Facultatif) — Définissez la taille et le rapport hauteur/largeur de l'image générée. La valeur par défaut des deux est 1024.

    Les height valeurs width et ne doivent pas être fournies pour les types de "VIRTUAL_TRY_ON" tâches "INPAINTING""OUTPAINTING", ou.

    Pour la liste complète des résolutions prises en charge, voirRésolutions d'image prises en charge.

  • quality(Facultatif) - Spécifie la qualité à utiliser lors de la génération de l'image : « standard » (par défaut) ou « premium ».

  • cfgScale(Facultatif) — Spécifie dans quelle mesure le modèle doit respecter l'invite. Les valeurs sont comprises entre 1,1 et 10 inclus, et la valeur par défaut est 6,5.

    • Valeurs faibles (1,1-3) - Plus de liberté créative pour l'IA, potentiellement plus esthétique, mais faible contraste et résultats moins rapides

    • Valeurs moyennes (4-7) - Approche équilibrée, généralement recommandée pour la plupart des générations

    • Valeurs élevées (8-10) - Adhérence rapide stricte, qui peut produire des résultats plus précis, mais parfois au détriment de l'esthétique naturelle et d'une saturation accrue des couleurs

  • numberOfImages(Facultatif) — Le nombre d'images à générer.

    Minimum Maximum Par défaut
    1 5 1
  • seed(Facultatif) — Détermine le paramètre de bruit initial pour le processus de génération. Si vous modifiez la valeur de départ sans modifier tous les autres paramètres, vous obtiendrez une image totalement nouvelle qui sera toujours conforme à votre demande, à vos dimensions et à d'autres paramètres. Il est courant d'expérimenter différentes valeurs de départ pour trouver l'image parfaite.

    Minimum Maximum Par défaut
    0 2 147 483 646 12
Important

La résolution (widthetheight)numberOfImages, et quality toutes ont un impact sur le temps qu'il faut à la génération pour terminer. Le AWS SDK a une valeur par défaut read_timeout de 60 secondes, qui peut facilement être dépassée si vous utilisez des valeurs plus élevées pour ces paramètres. Par conséquent, il est recommandé d'augmenter le nombre read_timeout de vos appels d'invocation à au moins 5 minutes (300 secondes). Les exemples de code montrent comment procéder.