이미지 생성 사용해 보기(Vertex AI Studio)
이 페이지에서는 Vertex AI 기반 Imagen에서 시드 번호를 사용하여 결정론적 이미지를 생성하는 방법을 설명합니다.
시드 번호는 비결정론적 생성 이미지를 결정론적으로 만들 수 있도록 요청에 추가하는 숫자입니다. 결정론적은 Imagen으로 이미지를 생성할 때마다 매번 같은 생성 출력이 수신된다는 의미입니다.
예를 들어 프롬프트를 제공하고 결과 수를 1로 설정하며 시드 번호를 사용하면 같은 입력 값을 사용할 때마다 같은 이미지를 가져올 수 있습니다. 결과 수를 8로 설정하여 같은 요청을 보내면 같은 이미지 8개를 가져옵니다.
시드를 사용하여 이미지 생성
다음 단계를 따르세요.
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. - 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/
입니다.
추가 선택적 파라미터
사용 사례에 따라 다음 선택적 변수를 사용하세요. "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" }
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" } ] }
다음을 바꿉니다.
- SEED_NUMBER: 정수입니다. (선택사항) 출력 이미지를 결정론적으로 만들기 위해 제공하는 음수가 아닌 정수입니다. 동일한 시드 번호를 제공하면 항상 같은 출력 이미지가 생성됩니다. 사용 중인 모델이 디지털 워터마킹을 지원하는 경우 이 필드를 사용하려면
"addWatermark": false
를 설정해야 합니다. 허용되는 정수 값은1
~2147483647
입니다.
- SEED_NUMBER: 정수입니다. (선택사항) 출력 이미지를 결정론적으로 만들기 위해 제공하는 음수가 아닌 정수입니다. 동일한 시드 번호를 제공하면 항상 같은 출력 이미지가 생성됩니다. 사용 중인 모델이 디지털 워터마킹을 지원하는 경우 이 필드를 사용하려면
{
"instances": [
...
],
"parameters": {
"sampleCount": IMAGE_COUNT,
"seed": SEED_NUMBER,
// required for model version 006 and greater only when using a seed number
"addWatermark": false
}
}