제품 이미지 재컨텍스트화

Vertex AI의 Imagen 제품 재맥락화를 사용하면 제품 이미지를 다양한 장면이나 배경으로 수정할 수 있습니다. 제품 이미지와 선택사항인 프롬프트를 제공하면 Imagen 제품이 새로운 장면이나 배경으로 재맥락화된 제품 이미지를 생성합니다.

Imagen 제품 재맥락화에 대한 액세스를 요청하려면 Vertex AI - 마케팅용 생성형 미디어 액세스 요청 양식을 작성하세요.

지원되는 제품 유형

Imagen 제품 리컨텍스트는 다음 제품 유형을 지원합니다.

  • 어플라이언스
  • 비즈니스 및 산업
  • 의상
  • 전자제품
  • 가구
  • 정원 및 마당
  • 하드웨어
  • 건강 및 미용
  • 귀금속
  • 반려동물
  • 신발
  • 스포츠용품
  • 장난감 및 게임
  • 차량

제품 재맥락화 예시

다음은 제품 재컨텍스트화의 사용 사례를 보여줍니다.

샘플 입력 샘플 출력 사용된 프롬프트
흰색 배경에 놓여 있는 검은색 노트북입니다. 키보드에는 다채로운 백라이트가 켜져 있고 화면에는 다채로운 테스트 이미지가 표시되어 있습니다. 검은색 노트북이 작업대에 놓여 있습니다. 키보드에는 다채로운 백라이트가 켜져 있고 화면에는 다채로운 테스트 이미지가 표시되어 있습니다.
             작업대 뒤에는 창이 있고, 창 밖에는 여러 색상의 광고가 표시되어 있습니다. 비가 내리고 네온 불빛이 켜진 사이버펑크 골목길의 어수선한 작업대에서 홀로그램 광고가 배경에서 깜박입니다.
흰색 배경에 큰 렌즈가 부착된 디지털 SLR 카메라가 놓여 있습니다. 흰색 배경에 큰 렌즈가 부착된 디지털 SLR 카메라가 놓여 있습니다. 이제 카메라가 절벽 끝에 배치되어 있고 배경에는 넓은 폭포가 있습니다. 이끼 낀 바위 위에 놓여 있으며, 극적이고 흐린 아이슬란드 풍경 속에서 거대하고 강력한 폭포를 내려다보고 있습니다.
흰색 배경에 놓인 선글라스 한 쌍 선글라스가 테이블 위에 놓여 있고, 전경에는 커피잔이 받침 위에 놓여 있으며, 배경에는 교회의 꼭대기와 물, 언덕이 보이는 아름다운 풍경이 있습니다. 산토리니의 흰색 카페 테이블에 앉아 커피를 마시며 에게해와 상징적인 파란색 돔 건물들을 바라보고 있습니다.

Colab에서 Imagen 제품 재맥락화 사용해 보기

시작하기 전에

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Vertex AI API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Vertex AI API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  8. 환경에 대한 인증을 설정하세요.

    로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.

      Install the Google Cloud CLI. After installation, initialize the Google Cloud CLI by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    자세한 내용은 Google Cloud 인증 문서의 REST 사용을 위한 인증을 참조하세요.

  9. 다양한 장면에서 제품 이미지 생성

    REST

    요청 데이터를 사용하기 전에 다음을 바꿉니다.

    • REGION: 프로젝트가 있는 리전입니다. 지원되는 리전에 대한 자세한 내용은 Vertex AI의 생성형 AI 위치를 참고하세요.
    • PROJECT_ID: Google Cloud 프로젝트 ID입니다.
    • TEXT_PROMPT: 선택사항. 모델이 생성하는 이미지를 안내하는 텍스트 프롬프트입니다.
    • BASE64_SUBJECT_IMAGE: 주제 이미지의 base64로 인코딩된 이미지입니다.
    • PERSON_SETTING: 선택사항: 모델에서 허용하는 사람 유형이나 얼굴 생성 유형을 제어하는 문자열 값입니다. personGeneration에 대해 다음 값을 사용할 수 있습니다.
      • "allow_adult": 유명인 생성을 제외하고 성인만 생성합니다. 어떤 설정에서도 유명인은 생성되지 않습니다. 기본 설정입니다.
      • "allow_all": 유명인 생성을 제외하고 모든 연령의 사람을 생성합니다. 어떤 설정에서도 유명인은 생성되지 않습니다.
      • "dont_allow": 생성된 출력에 사람이나 얼굴을 생성할 수 없습니다.
    • SAFETY_SETTING: (선택사항) 생성된 이미지의 안전 필터 기준점을 제어하는 문자열 값입니다. 다음 값을 사용하여 안전 설정을 선택할 수 있습니다.
      • "block_low_and_above": 가장 엄격한 안전 기준점입니다. "block_low_and_above"는 생성된 이미지를 가장 많이 필터링합니다.
      • "block_medium_and_above": 잠재적으로 유해하고 안전한 콘텐츠에 대한 필터링의 균형을 맞추는 중간 안전 기준점입니다. "block_medium_and_above"은 기본 안전 설정입니다.
      • "block_only_high": 가장 낮은 안전 기준점으로, 안전 필터로 인해 차단된 요청 수를 줄입니다. "block_only_high" 안전 기준을 사용하면 모델에서 생성하는 불쾌감을 주는 이미지 수가 늘어날 수 있습니다.
    • WATERMARK_SETTING: 선택사항: 불리언입니다. 이 값이 true로 설정되면 모델은 생성된 이미지를 확인하는 데 사용할 수 있는 디지털 워터마크를 추가합니다. 기본값은 true입니다.
    • IMAGE_COUNT: 생성할 이미지 수입니다. 허용되는 값의 범위는 1~4입니다.
    • PROMPT_SETTING: 선택사항: 불리언입니다. 이 값이 true로 설정되면 모델에서 향상된 prmopts를 사용합니다. 기본값은 true입니다.

    HTTP 메서드 및 URL:

    POST https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/imagen-product-recontext-preview-06-30:predict

    JSON 요청 본문:

    {
      "instances": [
        {
          "prompt": "TEXT_PROMPT",
          "productImages": [
            {
              "image": {
                "bytesBase64Encoded": "BASE64_SUBJECT_IMAGE"
              },
            }
          ]
        }
      ],
      "parameters": {
        "personGeneration": PERSON_SETTING,
        "safetySetting": SAFETY_SETTING,
        "addWatermark": WATERMARK_SETTING,
        "sampleCount": IMAGE_COUNT,
        "enhancePrompt": PROMPT_SETTING
      }
    }
    

    요청을 보내려면 다음 옵션 중 하나를 선택합니다.

    curl

    요청 본문을 request.json 파일에 저장하고 다음 명령어를 실행합니다.

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/imagen-product-recontext-preview-06-30:predict"

    PowerShell

    요청 본문을 request.json 파일에 저장하고 다음 명령어를 실행합니다.

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/imagen-product-recontext-preview-06-30:predict" | Select-Object -Expand Content
    요청은 이미지 객체를 반환합니다. 이 예에서는 base64로 인코딩된 이미지로 두 개의 예측 객체와 함께 두 개의 이미지 객체가 반환됩니다.
    {
      "predictions": [
        {
          "mimeType": "image/png",
          "bytesBase64Encoded": "BASE64_IMG_BYTES"
        },
        {
          "bytesBase64Encoded": "BASE64_IMG_BYTES",
          "mimeType": "image/png"
        }
      ]
    }