이 페이지에서는 Vertex AI 기반 Imagen 생성 이미지에서 콘텐츠를 생략하는 방법을 설명합니다.
부정 프롬프트는 생성된 이미지에서 생략할 항목에 대한 설명입니다. 예를 들어 '사람이 없는 야간 도시 거리'라는 프롬프트를 생각해 봅시다. 이 모델은 '사람'을 생략 대상이 아니라 포함 대상 지시문으로 해석할 수 있습니다. 더 나은 결과를 생성하려면 '사람' 네거티브 프롬프트와 함께 '야간 도시 거리' 프롬프트를 사용하면 됩니다.
Imagen은 네거티브 프롬프트 유무에 관계없이 이러한 이미지를 생성합니다.
텍스트 프롬프트만
- 텍스트 프롬프트: '피자'
텍스트 프롬프트 및 네거티브 프롬프트
- 텍스트 프롬프트: '피자'
- 네거티브 프롬프트: 'pepperoni'
다음 모델은 부정 프롬프트를 지원합니다.
imagen-3.0-capability-001
imagen-3.0-fast-generate-001
imagen-3.0-generate-001
부정 프롬프트 사용
생성된 이미지에서 콘텐츠를 생략하려면 다음을 수행합니다.
콘솔
Google Cloud 콘솔에서 Vertex AI > Media Studio 페이지로 이동합니다.
Imagen을 클릭합니다. Imagen Media Studio 이미지 생성 페이지가 표시됩니다.
설정 패널에서 다음 옵션을 조정합니다.
모델: 사용 가능한 옵션 중에서 모델을 선택합니다.
사용 가능한 모델에 대한 자세한 내용은 Imagen 모델을 참조하세요.
결과 수: 슬라이더를 조정하거나 1~4 사이의 값을 입력합니다.
부정 프롬프트 상자에 이미지에 생성하지 않으려는 항목을 설명하는 프롬프트를 입력합니다.
프롬프트 작성 상자에 생성할 이미지를 설명하는 텍스트 프롬프트를 입력합니다. 예를 들면 아침 물 위에 떠 있는 작은 배 수채화 이미지입니다.
효과적인 프롬프트를 작성하는 방법에 대한 자세한 내용은 프롬프트 및 이미지 속성 가이드를 참조하세요.
생성을 클릭합니다.
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" } ] }
다음을 바꿉니다.
- NEGATIVE_PROMPT: 이미지를 생성하는 데 도움이 되는 네거티브 프롬프트입니다. 예를 들면 '동물'(동물 제거), '흐림'(이미지 선명화), '텍스트'(텍스트 제거) 또는 '자르기'(잘린 이미지 제거) 등입니다.
{ "instances": [ ... ], "parameters": { "sampleCount": IMAGE_COUNT, "negativePrompt": "NEGATIVE_PROMPT" } }