이미지 생성 및 편집 - Amazon Nova

이미지 생성 및 편집

Amazon Nova Canvas는 Bedrock InvokeModel API를 통해 사용할 수 있으며 모델 추론을 수행할 때 다음과 같은 추론 파라미터와 모델 응답을 지원합니다.

이미지 생성 요청 및 응답 형식

Amazon Nova Canvas 모델을 사용하여 InvokeModel 직접 호출을 수행할 때는 요청의 body 필드를 사용 사례에 맞는 형식으로 대체합니다. 모든 작업은 imageGenerationConfig 객체를 공유하지만 각 작업에는 해당 작업과 관련된 파라미터 객체가 포함되어 있습니다. 지원되는 사용 사례는 다음과 같습니다.

태스크 유형 값 태스크 파라미터 필드 태스크 카테고리 설명
TEXT_IMAGE(텍스트만 포함) textToImageParams 생성 텍스트 프롬프트를 사용하여 이미지를 생성합니다.
TEXT_IMAGE(이미지 컨디셔닝 포함) textToImageParams 생성 텍스트 프롬프트와 함께 입력 컨디셔닝 이미지를 제공하여 컨디셔닝 이미지의 레이아웃 및 구성을 따르는 이미지를 생성합니다.
COLOR_GUIDED_GENERATION colorGuidedGenerationParams 생성 텍스트 프롬프트 및 선택적 참조 이미지와 함께 16진수 형식(예: #FF9800)의 색상 값 목록을 제공하여 지정된 색상 팔레트를 따르는 이미지를 생성합니다.
IMAGE_VARIATION imageVariationParams 생성 텍스트 프롬프트 유무와 관계없이 하나 이상의 입력 이미지를 제공하여 생성된 이미지에 영향을 줍니다. 생성된 이미지의 시각적 스타일에 영향을 주고(텍스트 프롬프트와 함께 사용하는 경우), 단일 이미지의 변형을 생성하고(텍스트 프롬프트 없이 사용하는 경우), 기타 크리에이티브 효과 및 제어 목적으로 사용할 수 있습니다.
INPAINTING inPaintingParams 편집 마스킹 처리된 영역의 내부를 변경하여 이미지를 수정합니다. 이미지의 요소를 추가, 제거 또는 교체하는 데 사용할 수 있습니다.
OUTPAINTING outPaintingParams 편집 마스킹 처리된 영역의 외부를 변경하여 이미지를 수정합니다. 피사체 뒤의 배경을 교체하는 데 사용할 수 있습니다.
BACKGROUND_REMOVAL backgroundRemovalParams 편집 이미지의 배경을 자동으로 제거하여 배경을 투명한 픽셀로 교체합니다. 나중에 이미지 편집 앱, 프레젠테이션 또는 웹사이트의 다른 요소와 이미지를 합성하려는 경우에 유용할 수 있습니다. 사용자 지정 코드를 사용하는 방식으로도 배경을 단색으로 쉽게 변경할 수 있습니다.
VIRTUAL_TRY_ON virtualTryOnParams 편집 소스 이미지와 참조 이미지를 제공하여 참조 이미지의 객체를 소스 이미지에 중첩합니다. 다양한 모델 또는 다양한 포즈에서 의류와 액세서리를 시각화하거나, 객체 또는 의류의 스타일과 모양을 변경하거나, 한 객체에서 다른 객체로 스타일과 디자인을 이전하는 데 사용할 수 있습니다.

이미지 생성을 위한 입력 이미지

많은 태스크 유형에서 요청에 하나 이상의 입력 이미지를 포함해야 합니다. 요청에 사용되는 모든 이미지는 Base64 문자열로 인코딩되어야 합니다. 일반적으로 이미지는 PNG 또는 JPEG 형식이어야 하며 색상 채널당 8비트(RGB)여야 합니다. PNG 이미지에는 추가 알파 채널이 포함될 수 있지만 해당 채널에 투명 또는 반투명 픽셀이 포함되지 않아야 합니다. 지원되는 입력 이미지 치수에 대한 자세한 내용은 지원되는 이미지 해상도 섹션을 참조하세요.

마스크 이미지는 인페인팅하거나 아웃페인팅할 영역을 나타내는 이미지입니다. 이 이미지에는 순수한 검은색과 순수한 흰색 픽셀만 포함될 수 있습니다.

인페인팅 요청의 경우 검은색으로 표시된 영역을 마스크라고 하며 이 영역은 변경됩니다. 마스크 이미지의 나머지 부분에는 순수한 흰색 픽셀만 포함되어야 합니다. 순수한 흰색 픽셀은 마스크 외부 영역을 나타냅니다.

아웃페인팅 요청의 경우 흰색으로 표시된 영역이 모델에 의해 변경됩니다.

마스크 이미지에 순수한 검은색 또는 순수한 흰색이 아닌 픽셀이 포함되어서는 안 됩니다. JPEG 이미지를 마스크로 사용하는 경우 압축 중 흰색이 아닌 픽셀이나 검은색이 아닌 픽셀이 삽입되지 않도록 100% 품질로 압축해야 합니다.

Base64 문자열로 이미지를 인코딩하거나 디코딩하는 방법에 대한 예제는 코드 예제를 참조하세요.

이미지 마스킹

이미지를 편집할 때 마스크는 편집할 리전을 정의하는 방법입니다. 다음 세 가지 방법 중 하나로 마스크를 정의할 수 있습니다.

  • maskPrompt - 이미지에서 마스킹할 부분을 설명하는 자연어 텍스트 프롬프트를 작성합니다.

  • maskImage - 순수한 검은색 픽셀은 마스크 내부 영역을 나타내고 순수한 흰색 픽셀은 마스크 외부 영역을 나타내는 흑백 이미지입니다.

    인페인팅 요청의 경우 모델에 의해 검은색 픽셀이 변경됩니다. 아웃페인팅 요청의 경우 흰색 픽셀이 변경됩니다.

  • garmentBasedMask - 일부 제한된 스타일링 옵션과 함께 교체할 영역을 정의하는 이미지 기반 마스크입니다.

사진 편집 도구를 사용하여 마스크를 그리거나 사용자 지정 코드로 생성할 수 있습니다. 그렇지 않으면 모델을 통해 마스크를 유추할 수 있도록 maskPrompt 필드를 대신 사용합니다.

지원되는 이미지 해상도

다음 요구 사항을 준수하는 한 생성 태스크에 대해 원하는 출력 해상도를 지정할 수 있습니다.

  • 각 면은 320~4,096픽셀이어야 합니다.

  • 각 면은 16으로 균등하게 나눌 수 있어야 합니다.

  • 가로 세로 비율은 1:4~4:1이어야 합니다. 즉, 한 면이 다른 면보다 4배 이상 길 수 없습니다.

  • 총 픽셀 수는 419만 4,304개 미만이어야 합니다.

이러한 제약 조건이 대부분 입력 이미지에도 적용됩니다. 그러나 이미지의 면이 16으로 균등하게 나누어 떨어질 필요는 없습니다.