Vertex AI 기반 Imagen을 사용하면 텍스트 프롬프트에서 새 이미지를 생성할 수 있습니다. 지원되는 인터페이스에는 Google Cloud 콘솔과 Vertex AI API가 있습니다.
이미지 생성 및 수정을 위한 텍스트 프롬프트 작성에 대한 상세 내용은 프롬프트 가이드를 참조하세요.
이미지 생성 사용해 보기(Vertex AI Studio)
시작하기 전에
- 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.
-
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 theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theserviceusage.services.enable
permission. Learn how to grant roles. -
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 theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theserviceusage.services.enable
permission. Learn how to grant roles. -
환경에 대한 인증을 설정하세요.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
Python
로컬 개발 환경에서 이 페이지의 Python 샘플을 사용하려면 gcloud CLI를 설치하고 초기화한 후 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정합니다.
Google Cloud CLI를 설치합니다.
외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
자세한 내용은 Google Cloud 인증 문서의 로컬 개발 환경의 ADC 설정을 참조하세요.
REST
로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.
Google Cloud CLI를 설치합니다.
외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.
자세한 내용은 Google Cloud 인증 문서의 REST 사용을 위한 인증을 참조하세요.
텍스트로 이미지 생성
설명 텍스트만 입력으로 사용하여 새로운 이미지를 생성할 수 있습니다. 다음 샘플에서는 이미지 생성에 대한 기본 안내를 보여줍니다.
콘솔
Google Cloud 콘솔에서 Vertex AI > Media Studio 페이지로 이동합니다.
Imagen을 클릭합니다. Imagen Media Studio 이미지 생성 페이지가 표시됩니다.
선택사항: 설정 창에서 다음 설정을 구성합니다.
모델: 사용 가능한 옵션 중에서 모델을 선택합니다.
사용 가능한 모델에 대한 자세한 내용은 Imagen 모델을 참조하세요.
가로세로 비율: 사용 가능한 옵션 중에서 가로세로 비율을 선택합니다.
결과 수: 슬라이더를 조정하거나 1~4 사이의 값을 입력합니다.
출력 해상도: 사용 가능한 옵션 중에서 해상도를 선택합니다.
선택사항: 고급 옵션 섹션에서 이미지를 생성할 리전을 선택합니다.
프롬프트 작성 상자에 생성할 이미지를 설명하는 텍스트 프롬프트를 입력합니다. 예를 들면 아침 물 위에 떠 있는 작은 배 수채화 이미지입니다.
효과적인 프롬프트를 작성하는 방법에 대한 자세한 내용은 프롬프트 및 이미지 속성 가이드를 참조하세요.
생성을 클릭합니다.
디지털 워터마크가 생성된 이미지에 자동으로 추가됩니다. Google Cloud 콘솔을 사용하여 이미지 생성 시에 디지털 워터마크를 중지할 수 없습니다.
이미지를 선택하여 이미지 세부정보 창에서 볼 수 있습니다. 워터마크가 추가된 이미지에는 이미지 워터마크를 확인할 수도 있습니다.
디지털 워터마크 배지가 포함됩니다. 명시적으로프롬프트에서 Imagen 2로 생성된 워터마크가 추가된 이미지의 이미지 세부정보 뷰: 저채도 색상의 아침 물 위에 떠 있는 빨간색 작은 배 수채화 이미지.
Python
설치
pip install --upgrade google-genai
자세한 내용은 SDK 참고 문서를 참조하세요.
Vertex AI에서 Gen AI SDK를 사용하도록 환경 변수를 설정합니다.
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=global export GOOGLE_GENAI_USE_VERTEXAI=True
이 샘플에서는
ImageGenerationModel
에서generate_images
메서드를 호출하고 생성된 이미지를 로컬로 저장합니다. 그런 다음 노트북에서show()
메서드를 선택적으로 사용하여 생성된 이미지를 표시할 수 있습니다. 모델 버전과 기능에 대한 자세한 내용은 Imagen 모델을 참조하세요.REST
imagegeneration
모델 요청에 대한 자세한 내용은imagegeneration
모델 API 참조를 확인하세요.요청 데이터를 사용하기 전에 다음을 바꿉니다.
- 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" } ] }
다음 단계
Imagen 및 Vertex AI의 기타 생성형 AI 제품 관련 문서 읽기:
- Vertex AI에서 Imagen 3 시작을 위한 개발자 가이드
- 크리에이터를 위해 제작된 새로운 생성형 미디어 모델 및 도구
- Gemini의 새로운 기능: Imagen 3의 커스텀 젬 및 향상된 이미지 생성
- Google DeepMind: Imagen 3 - 최고 품질의 텍스트 이미지 변환 모델
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-10-19(UTC)