가로세로 비율 구성

이미지 생성 사용해 보기(Vertex AI Studio)

Colab에서 Imagen 사용해 보기

이 페이지에서는 Vertex AI 기반 Imagen이 이미지를 생성하는 종횡비를 구성하는 방법을 설명합니다.

생성된 이미지를 사용하려는 방법에 따라 일부 가로세로 비율이 다른 이미지보다 더 효과적일 수 있습니다. 사용 사례에 가장 적합한 가로세로 비율을 선택합니다.

사용할 수 있는 이미지 생성 모델은 여러 가지가 있으며 특정 가로세로 비율은 특정 Imagen 모델에서 사용할 수 있습니다. 자세한 내용은 Imagen 모델을 참조하세요.

가로세로 비율 사용 목적 샘플 이미지
1:1 기본값, 정사각형, 범용
콘솔에서 생성된 샘플 이미지
프롬프트: 위에서 바라본 파스타 요리, 음식 잡지 표지 스타일의 스튜디오 사진
3:4 TV, 미디어, 영화
콘솔에서 생성된 샘플 이미지
프롬프트: 밝은 채도 배경의 라벤더 바닐라 향수병의 향수 광고를 위해 촬영된 상업 사진.
4:3 TV, 미디어, 영화
콘솔에서 생성된 샘플 이미지
프롬프트: 4k, 극적인 앵글로 촬영된 녹색과 회색 하이탑 스니커즈 상업용 사진
9:16 세로, 긴 객체, 휴대기기
콘솔에서 생성된 샘플 이미지
프롬프트: 일몰 배경으로 하와이 해변을 렌즈 플레어 이펙트로 촬영한 자연 사진.
16:9 가로
콘솔에서 생성된 샘플 이미지
프롬프트: 뉴욕의 고층 빌딩, 미래 렌더링, 개념, 디지털 아트

콘솔

  1. Google Cloud 콘솔에서 Vertex AI > Media Studio 페이지로 이동합니다.

    Media Studio로 이동

  2. Imagen을 클릭합니다. Imagen Media Studio 이미지 생성 페이지가 표시됩니다.

  3. 설정 패널에서 다음 옵션을 조정합니다.

    • 모델: 사용 가능한 옵션 중에서 모델을 선택합니다.

      사용 가능한 모델에 대한 자세한 내용은 Imagen 모델을 참조하세요.

    • 가로세로 비율: 이미지를 생성할 때 사용할 가로세로 비율

  4. 프롬프트 작성 상자에 생성할 이미지를 설명하는 텍스트 프롬프트를 입력합니다. 예를 들면 아침 물 위에 떠 있는 작은 배 수채화 이미지입니다.

  5. 생성을 클릭합니다.

REST

가로세로 비율은 JSON 요청 본문의 parameters 객체에 있는 선택적 필드입니다.

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

  • PROJECT_ID: Google Cloud 프로젝트 ID
  • MODEL_VERSION: 사용할 Imagen 모델 버전입니다. 사용 가능한 모델에 대한 자세한 내용은 Imagen 모델을 참조하세요.

  • LOCATION: 프로젝트의 리전입니다. 예를 들면 us-central1, europe-west2, asia-northeast3입니다. 사용 가능한 리전 목록은 Vertex AI의 생성형 AI 위치를 참조하세요.
  • TEXT_PROMPT: 모델이 생성하는 이미지를 안내하는 텍스트 프롬프트. 이 필드는 생성 및 수정 모두에서 필요합니다.
  • IMAGE_COUNT: 생성된 이미지의 수입니다. 허용되는 정수 값은 1~8(imagegeneration@002), 1~4(기타 모든 모델 버전)입니다. 기본값: 4.
  • 추가 선택적 파라미터

    사용 사례에 따라 다음 선택적 변수를 사용하세요. "parameters": {} 객체에 다음 파라미터 중 일부 또는 전부를 추가합니다. 이 목록에는 일반적인 선택적 파라미터가 나와 있으며 모든 파라미터가 포함되어 있지는 않습니다. 선택적 파라미터에 관한 자세한 내용은 Imagen API 참조: 이미지 생성을 참조하세요.

    "parameters": {
      "sampleCount": IMAGE_COUNT,
      "addWatermark": ADD_WATERMARK,
      "aspectRatio": "ASPECT_RATIO",
      "enhancePrompt": ENABLE_PROMPT_REWRITING,
      "includeRaiReason": INCLUDE_RAI_REASON,
      "includeSafetyAttributes": INCLUDE_SAFETY_ATTRIBUTES,
      "outputOptions": {
        "mimeType": "MIME_TYPE",
        "compressionQuality": COMPRESSION_QUALITY
      },
      "personGeneration": "PERSON_SETTING",
      "safetySetting": "SAFETY_SETTING",
      "seed": SEED_NUMBER,
      "storageUri": "OUTPUT_STORAGE_URI"
    }
    
    • ADD_WATERMARK: 불리언입니다. (선택사항) 생성된 이미지에 워터마크를 사용 설정할지 여부입니다. 필드가 true로 설정되었을 때 생성되는 모든 이미지에는 워터마크가 추가된 이미지를 확인하는 데 사용할 수 있는 디지털 SynthID가 포함됩니다. 이 필드를 생략하면 기본값 true가 사용됩니다. 이 기능을 중지하려면 값을 false로 설정해야 합니다. 이 필드를 false로 설정한 경우에만 seed 필드를 사용하여 결정론적 출력을 얻을 수 있습니다.
    • ASPECT_RATIO: 문자열입니다. (선택사항) 가로세로 비율을 제어하는 생성 모드 파라미터입니다. 지원되는 비율 값과 사용 목적은 다음과 같습니다.
      • 1:1(기본값, 정사각형)
      • 3:4(광고, 소셜 미디어)
      • 4:3(TV, 사진)
      • 16:9(가로)
      • 9:16(세로)
    • ENABLE_PROMPT_REWRITING: 불리언입니다. (선택사항) LLM 기반 프롬프트 수정 기능을 사용하여 원래 프롬프트의 의도를 더 잘 반영하는 고품질 이미지를 제공하는 파라미터입니다. 이 기능을 사용 중지하면 이미지 품질과 프롬프트 준수가 영향을 받을 수 있습니다. 기본값: true.
    • INCLUDE_RAI_REASON: 불리언입니다. (선택사항) 차단된 입력이나 출력이 있는 응답에서 책임감 있는 AI 필터링된 이유 코드를 사용 설정할지 여부입니다. 기본값은 true입니다.
    • INCLUDE_SAFETY_ATTRIBUTES: 불리언입니다. (선택사항) 필터링되지 않은 입력 및 출력에 대한 응답에서 안전 속성 목록에 대해 반올림된 책임감 있는 AI 점수를 사용 설정할지 여부입니다. 안전 속성 카테고리에는 "Death, Harm & Tragedy", "Firearms & Weapons", "Hate", "Health", "Illicit Drugs", "Politics", "Porn", "Religion & Belief", "Toxic", "Violence", "Vulgarity", "War & Conflict" 등이 있습니다. 기본값은 false입니다.
    • MIME_TYPE: 문자열입니다. (선택사항) 이미지 콘텐츠의 MIME 유형입니다. 사용 가능한 값은 다음과 같습니다.
      • image/jpeg
      • image/gif
      • image/png
      • image/webp
      • image/bmp
      • image/tiff
      • image/vnd.microsoft.icon
    • COMPRESSION_QUALITY: 정수입니다. (선택사항) JPEG 출력 파일에만 적용됩니다. JPEG 파일 형식으로 생성된 이미지에 대해 모델이 보존하는 세부 수준입니다. 값은 0~100이며 숫자가 클수록 압축이 더 높습니다. 기본값은 75입니다.
    • PERSON_SETTING: 문자열입니다. (선택사항) 모델에서 허용하는 사람 유형이나 얼굴 생성 유형을 제어하는 안전 설정입니다. 사용 가능한 값은 다음과 같습니다.
      • allow_adult(기본값): 유명인 생성을 제외하고 성인만 생성합니다. 어떤 설정에서도 유명인은 생성되지 않습니다.
      • dont_allow: 생성된 이미지에 사람이나 얼굴이 포함되지 않습니다.
    • SAFETY_SETTING: 문자열입니다. (선택사항) 생성된 이미지의 안전 필터 기준점을 제어하는 설정입니다. 사용 가능한 값은 다음과 같습니다.
      • block_low_and_above: 가장 높은 안전 기준점으로, 필터링되어 생성된 이미지 수가 가장 많습니다. 이전 값은 block_most입니다.
      • block_medium_and_above(기본값): 잠재적으로 유해하고 안전한 콘텐츠에 대한 필터링의 균형을 맞추는 중간 안전 기준점입니다. 이전 값은 block_some입니다.
      • block_only_high: 안전 필터로 인해 차단된 요청 수를 줄이는 안전 기준점입니다. 이 설정으로 인해 Imagen에서 불쾌감을 주는 콘텐츠를 많이 생성할 수 있습니다. 이전 값은 block_few입니다.
    • SEED_NUMBER: 정수입니다. (선택사항) 출력 이미지를 결정론적으로 만들기 위해 제공하는 음수가 아닌 정수입니다. 동일한 시드 번호를 제공하면 항상 같은 출력 이미지가 생성됩니다. 사용 중인 모델이 디지털 워터마킹을 지원하는 경우 이 필드를 사용하려면 "addWatermark": false를 설정해야 합니다. 허용되는 정수 값은 1~2147483647입니다.
    • OUTPUT_STORAGE_URI: 문자열입니다. (선택사항) 출력 이미지를 저장할 Cloud Storage 버킷입니다. 제공되지 않으면 base64로 인코딩된 이미지 바이트가 응답으로 반환됩니다. 샘플 값은 gs://image-bucket/output/입니다.

HTTP 메서드 및 URL:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_VERSION:predict

JSON 요청 본문:

{
  "instances": [
    {
      "prompt": "TEXT_PROMPT"
    }
  ],
  "parameters": {
    "sampleCount": IMAGE_COUNT
  }
}

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

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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_VERSION: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://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_VERSION:predict" | Select-Object -Expand Content
다음은 "sampleCount": 2 요청에 대한 샘플 응답입니다. 응답은 생성된 이미지 바이트를 base64로 인코딩한 예측 객체 2개를 반환합니다.
{
  "predictions": [
    {
      "bytesBase64Encoded": "BASE64_IMG_BYTES",
      "mimeType": "image/png"
    },
    {
      "mimeType": "image/png",
      "bytesBase64Encoded": "BASE64_IMG_BYTES"
    }
  ]
}

프롬프트를 개선할 수 있는 모델을 사용하는 경우 생성에 사용된 개선된 프롬프트가 포함된 추가 prompt 필드가 응답에 포함됩니다.

{
  "predictions": [
    {
      "mimeType": "MIME_TYPE",
      "prompt": "ENHANCED_PROMPT_1",
      "bytesBase64Encoded": "BASE64_IMG_BYTES_1"
    },
    {
      "mimeType": "MIME_TYPE",
      "prompt": "ENHANCED_PROMPT_2",
      "bytesBase64Encoded": "BASE64_IMG_BYTES_2"
    }
  ]
}

다음 단계