產生映像的請求和回應結構 - Amazon Nova

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

產生映像的請求和回應結構

產生影像

下列範例顯示不同的影像產生使用案例。每個範例都會提供用於產生影像的欄位說明。

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 } }

下列textToImageParams欄位用於此請求:

  • text (必要) – 產生影像的文字提示。提示的長度必須為 1-1024 個字元。

  • negativeText (選用) – 定義影像中不包含哪些內容的文字提示。此值的長度必須為 1-1024 個字元。

  • style (選用) – 指定用於產生此映像的樣式。如需詳細資訊,請參閱視覺化樣式

注意

避免在 textnegativeText值中使用否定單字 (「否」、「不」、「不」等)。例如,如果您不希望鏡像在影像中,而不是在 text 欄位中包含「無鏡像」或「無鏡像」,請在 negativeText 欄位中使用「鏡像」一詞。

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 } }

下列textToImageParams欄位用於此請求:

  • conditionImage (必要) – 指導所產生影像配置和合成的 JPEG 或 PNG 影像。影像必須格式化為 Base64 字串。如需其他需求用於產生影像的輸入影像,請參閱 。

  • controlMode (選用) – 指定要使用的調節模式。預設值為「CANNY_EDGE」。

    • CANNY_EDGE – 產生的影像元素將緊密遵循條件影像的顯著輪廓或「邊緣」。

    • SEGMENTATION – 會自動分析條件影像,以識別明顯的內容形狀。此分析會產生引導產生的分割遮罩,產生密切遵循條件影像配置的產生影像,但允許模型在每個內容區域的邊界內有更多自由。

  • controlStrength (選用) – 指定所產生映像的配置和合成與 的相似程度conditionImage。範圍為 0 到 1.0,而較低的值會帶來更多隨機性。預設值為 0.7。

  • text (必要) – 產生影像的文字提示。提示的長度必須為 1-1024 個字元。

  • negativeText (選用) – 定義影像中不包含哪些內容的文字提示。此值的長度必須為 1-1024 個字元。

  • style (選用) – 指定用於產生此映像的樣式。如需詳細資訊,請參閱視覺化樣式

注意

避免在 textnegativeText值中使用否定單字 (「否」、「不」、「不」等)。例如,如果您不希望鏡像在影像中,而不是在 text 欄位中包含「無鏡像」或「無鏡像」,請在 negativeText 欄位中使用「鏡像」一詞。

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 } }

下列colorGuidedGenerationParams欄位用於此請求:

  • colors (必要) – 最多 10 個顏色代碼的清單,可為您的影像定義所需的調色盤。以「#RRGGBB」格式表示為十六進位值。例如,「#00FF00」是純綠色,而「#FCF2AB」是暖黃色。referenceImage 未提供 時,colors清單具有最強大的效果。否則,清單中的顏色和參考影像中的顏色都會用於最終輸出。

  • referenceImage (選用) – 用作主旨和樣式參考的 JPEG 或 PNG 影像。影像的顏色也會併入最終輸出,以及colors清單中的顏色。如需其他需求用於產生影像的輸入影像,請參閱 。

  • text (必要) – 產生影像的文字提示。提示的長度必須為 1-1024 個字元。

  • negativeText (選用) – 定義影像中不包含哪些內容的文字提示。此值的長度必須為 1-1024 個字元。

  • style (選用) – 指定用於產生此映像的樣式。如需詳細資訊,請參閱視覺化樣式

注意

避免在 textnegativeText值中使用否定單字 (「否」、「不」、「不」等)。例如,如果您不希望鏡像在影像中,而不是在 text 欄位中包含「無鏡像」或「無鏡像」,請在 negativeText 欄位中使用「鏡像」一詞。

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 } }

下列imageVariationParams欄位用於此請求:

  • images (必要) - 要用作參考的 1-5 個映像清單。每個 必須是 JPEG 或 PNG 格式,並編碼為 Base64 字串。如需其他需求用於產生影像的輸入影像,請參閱 。

  • similarityStrength (選用) – 指定產生的映像與輸入映像的相似程度。有效值為 betweeen 0.2-1.0,使用較低的值來增加隨機性。

  • text (必要) – 產生影像的文字提示。提示的長度必須為 1-1024 個字元。如果您省略此欄位,模型會移除遮罩區域內的元素。它們將被替換為影像背景的無縫延伸。

  • negativeText (選用) – 定義影像中不包含哪些內容的文字提示。此值的長度必須為 1-1024 個字元。

  • style (選用) – 指定用於產生此映像的樣式。如需詳細資訊,請參閱視覺化樣式

注意

避免在 textnegativeText值中使用否定單字 (「否」、「不」、「不」等)。例如,如果您不希望鏡像在影像中,而不是在 text 欄位中包含「無鏡像」或「無鏡像」,請在 negativeText 欄位中使用「鏡像」一詞。

影像編輯

下列範例顯示不同的影像編輯使用案例。每個範例都會提供用於編輯影像的欄位說明。

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 } }

下列inPaintingParams欄位用於此請求:

  • image (必要) - 您要修改的 JPEG 或 PNG,格式為 Base64 字串。如需其他需求用於產生影像的輸入影像,請參閱 。

  • maskPromptmaskImage(必要) – 您必須指定 maskPromptmaskImage 參數,但不能同時指定兩者。

    maskPrompt 是自然語言文字提示,描述要編輯的影像區域。

    maskImage 是定義要編輯之影像區域的影像。遮罩影像的大小必須與輸入影像相同。要編輯的區域為純黑色陰影,而要忽略的區域為純白色陰影。遮罩影像中不允許其他顏色。

    請注意,在遮罩影像的顏色需求方面,調色和調色請求是相反的。

  • text (必要) – 文字提示,說明遮罩區域內要產生的內容。提示的長度必須為 1-1024 個字元。如果您省略此欄位,模型會移除遮罩區域內的元素。它們將被替換為影像背景的無縫延伸。

  • negativeText (選用) – 定義影像中不包含哪些內容的文字提示。此值的長度必須為 1-1024 個字元。

注意

避免在 textnegativeText值中使用否定單字 (「否」、「不」、「不」等)。例如,如果您不希望鏡像在影像中,而不是在 text 欄位中包含「無鏡像」或「無鏡像」,請在 negativeText 欄位中使用「鏡像」一詞。

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 } }

下列outPaintingParams欄位用於此請求:

  • image (必要) - 您要修改的 JPEG 或 PNG,格式為 Base64 字串。如需其他需求用於產生影像的輸入影像,請參閱 。

  • maskPromptmaskImage(必要) – 您必須指定 maskPromptmaskImage 參數,但不能同時指定兩者。

    maskPrompt 是自然語言文字提示,描述要編輯的影像區域。

    maskImage 是定義要編輯之影像區域的影像。遮罩影像的大小必須與輸入影像相同。要編輯的區域為純黑色陰影,而要忽略的區域為純白色陰影。遮罩影像中不允許其他顏色。

    請注意,在遮罩影像的顏色需求方面,調色和調色請求是相反的。

  • outPaintingMode - 決定如何解譯您提供的遮罩。

    使用 在遮罩區域和非遮罩區域之間順利DEFAULT轉換。部分原始像素會用作新背景的起點。當您希望新背景使用與原始背景類似的顏色時,此模式通常更好。不過,如果您的提示要求與原始背景明顯不同的新背景,則可能會產生光暈效果。

    使用 PRECISE 嚴格遵守遮罩邊界。當您對背景進行重大變更時,此模式通常更好。

  • text (必要) – 文字提示,說明遮罩區域內要產生的內容。提示的長度必須為 1-1024 個字元。如果您省略此欄位,模型會移除遮罩區域內的元素。它們將被替換為影像背景的無縫延伸。

  • negativeText (選用) – 定義影像中不包含哪些內容的文字提示。此值的長度必須為 1-1024 個字元。

注意

避免在 textnegativeText值中使用否定單字 (「否」、「不」、「不」等)。例如,如果您不希望鏡像在影像中,而不是在 text 欄位中包含「無鏡像」或「無鏡像」,請在 negativeText 欄位中使用「鏡像」一詞。

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

下列backgroundRemovalParams欄位用於此請求:

BACKGROUND_REMOVAL 任務將傳回具有完整 8 位元透明度的 PNG 映像。此格式可讓您順暢、乾淨地隔離前景物件,並可輕鬆將影像與影像編輯應用程式、簡報或網站中的其他元素複合。您可以使用簡單的自訂程式碼,輕鬆將背景變更為純色。

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 } }

下列virtualTryOnParams欄位用於此請求:

  • sourceImage (必要) – 您要修改的 JPEG 或 PNG,格式為 Base64 字串。如需其他需求用於產生影像的輸入影像,請參閱 。

  • referenceImage (必要) – JPEG 或 PNG,其中包含您想要在來源影像上疊加的物件,格式為 Base64 字串。如需其他需求用於產生影像的輸入影像,請參閱 。

  • maskType (必要) – 指定遮罩是以影像、提示或衣物遮罩的形式提供。

  • imageBasedMask – 當 maskType為 時為必要"IMAGE"

    maskImage 是定義要編輯之影像區域的影像。遮罩影像的大小必須與輸入影像相同。要編輯的區域為純黑色陰影,而要忽略的區域為純白色陰影。遮罩影像中不允許其他顏色。

  • garmentBasedMask – 當 maskType為 時為必要"GARMENT"

    • maskShape (選用) – 定義遮罩週框方塊的形狀。週框方塊的形狀和大小可能會影響參考影像傳輸到來源影像的方式。

    • garmentClass (必要) – 定義要轉移的衣物文章。此參數可讓模型專注於您要傳輸的參考影像的特定部分。

    • garmentStyling (選用) – 為特定衣物的模型提供樣式提示。longSleeveStyletuckingStyle 參數僅適用於上半身衣物。outerLayerStyle 參數僅適用於外層、上半身衣物。

  • promptBasedMask (必要) – 當 maskType為 時為必要"PROMPT"

    • maskShape (選用) – 定義遮罩週框方塊的形狀。週框方塊的形狀和大小可能會影響參考影像如何傳輸至來源影像。

    • maskPrompt (必要) – 描述要編輯之影像區域的自然語言文字提示。

  • maskExclusions (選用) – 在來源影像中偵測到人員時,這些參數會判斷其身體姿勢、手部和臉部是否應保留在輸出影像中或重新產生。

  • mergeStyle (選用) – 決定如何將來源和參考影像拼接在一起。每個合併樣式都採用不同的方法來拼接元素,以建立最終影像,每個都具有自己的優點和權衡。

    • "BALANCED" - 保護原始映像中的任何非遮罩像素,確保它們與原始映像保持 100% 準確。在某些情況下,輸出影像中會有輕微可見的顏色或紋理不符,顯示為遮罩形狀的「幽靈」影像。當影像特徵為一個人站在純色或均勻紋理背景上時,最可能發生這種情況。若要避免這種情況,您可以改為使用"SEAMLESS"合併樣式。

    • "SEAMLESS" - 確保最終影像中遮罩和非遮罩影像區域之間永遠不會有明顯的接縫。權衡是此模式會導致影像中的所有像素稍微變更,有時會減少影像非遮罩區域中的精細細節。

    • "DETAILED" - 可大幅改善標誌和文字等精細細節,尤其是遮罩區域與整體影像相比相對較小時。模型透過對僅包含遮罩區域的原始映像的緊密裁剪、更高解析度版本執行浸入來實現此目的。然後,它會將結果合併回原始影像。如同使用 "BALANCED" 模式,此模式有時可能會導致可見的接縫。

  • returnMask (選用) – 指定是否使用輸出映像傳回遮罩映像。

回應內文

回應內文將包含下列一個或多個欄位:

{ "images": "images": string[] (list of Base64 encoded images), "maskImage": string (Base64 encoded image), "error": string }
  • images – 成功時,會傳回代表產生之每個影像的 Base64-encoded字串清單。此清單不一定包含您請求的相同影像數量。如果個別映像不符合 AWS Responsible AI (RAI) 內容管制政策,可能會在產生後遭到封鎖。只會傳回符合 RAI 政策的影像。

  • maskImage - 當您指定遮罩映像應與輸出一起傳回時,這是傳回該映像的位置。

  • error – 如果任何映像不符合 RAI 政策,則會傳回此欄位。否則,回應中會省略此欄位。

除了 之外, imageGenerationConfig 欄位適用於所有任務類型BACKGROUND_REMOVAL。此為選用,並包含下列欄位。如果您省略此物件,則會使用預設組態。

  • widthheight(選用) – 定義所產生影像的大小和長寬比。兩者都預設為 1024。

    "OUTPAINTING""VIRTUAL_TRY_ON"任務類型不應提供 width"INPAINTING"height值。

    如需支援解析度的完整清單,請參閱 支援的影像解析度

  • quality (選用) - 指定產生映像時要使用的品質 - "standard" (default) 或 "premium"。

  • cfgScale (選用) – 指定模型應遵循提示的嚴格程度。值範圍介於 1.1-10 之間,包含 ,預設值為 6.5。

    • 低值 (1.1-3) - 更多 AI 的創意自由,可能更具美觀性,但對比度低,提示黏著性的結果較低

    • 中等值 (4-7) - 平衡方法,通常建議大多數世代使用

    • 高值 (8-10) - 嚴格提示遵循,這可以產生更精確的結果,但有時會產生自然美和提高顏色飽和度的成本

  • numberOfImages (選用) – 要產生的映像數量。

    Minimum Maximum Default
    1 5 1
  • seed (選用) – 決定產生程序的初始雜訊設定。變更種子值,同時讓所有其他參數保持不變,會產生仍然遵循提示、維度和其他設定的全新影像。試驗各種種子值以尋找完美影像是很常見的。

    Minimum Maximum Default
    0 2,147,483,646 12
重要

解析度 (widthheight)numberOfImages、 和 quality都會影響產生完成所需的時間。 AWS 開發套件read_timeout的預設值為 60 秒,當這些參數使用較高的值時,可以輕鬆超過此值。因此,建議您將調用呼叫read_timeout的 增加到至少 5 分鐘 (300 秒)。程式碼範例示範如何執行此操作。