제어된 맞춤설정을 사용하면 소스 이미지나 소스 이미지 신호(캐니 윤곽선 또는 낙서)를 기반으로 새 이미지를 만들 수 있습니다. 이 페이지에서는 두 가지 유형의 제어된 맞춤설정 요청을 전송하는 방법을 보여줍니다.
Imagen 3 제어된 맞춤설정(GA 기능)
Imagen 2 제어된 맞춤설정 - 캐니 윤곽선 또는 낙서 소스 이미지 신호(프리뷰 기능)
사용 사례
Imagen 3 제어된 맞춤설정은 모델이 학습한 것보다 더 많은 작업을 할 수 있다는 인상을 줄 수 있는 자유 형식의 프롬프트를 제공합니다. 다음 섹션에서는 Imagen 3 제어된 맞춤설정의 사용 사례와 예시를 설명합니다.
이 모델은 Google에서 제공하는 사용 사례를 기반으로 학습되었으며, Imagen 3 제어된 맞춤설정을 사용하면 좋은 결과를 기대할 수 있습니다. 모델이 예상치 못한 방식으로 응답하도록 푸시하면 좋은 결과를 기대할 수 없습니다.
의도된 사용 사례의 예시
다음은 Imagen 3 제어된 맞춤설정이 학습하고 좋은 결과를 만들어내는 사용 사례입니다.
프롬프트 및 캐니니지 에지 컨트롤 이미지를 따르는 이미지를 생성합니다.
프롬프트와 낙서 이미지에 따라 이미지를 생성합니다.
얼굴 표정을 유지하면서 사람의 사진에 스타일을 지정합니다.
의도하지 않은 사용 사례의 예시
다음은 Imagen 3 제어된 맞춤설정이 학습되지 않았으며 좋지 않은 결과를 생성하는 사용 사례입니다.
프롬프트에 지정된 스타일을 사용하여 이미지를 생성합니다.
참조 이미지에서 제공하는 특정 스타일을 따르는 텍스트에서 이미지를 생성하고, 제어 이미지를 사용하여 이미지 구성을 어느 정도 제어합니다.
참조 이미지에서 제공하는 특정 스타일을 따르는 텍스트에서 이미지를 생성하고 컨트롤 낙서를 사용하여 이미지 구성을 어느 정도 제어합니다.
참조 이미지에서 제공하는 특정 스타일을 따르는 텍스트에서 이미지를 생성하고, 제어 이미지를 사용하여 이미지 구성을 어느 정도 제어합니다. 이미지 속 인물은 특정 표정을 짓고 있습니다.
2명 이상의 인물 사진을 스타일링하고 얼굴 표정을 보존합니다.
반려동물 사진을 스타일화하여 그림으로 변환하세요. 이미지의 구성을 보존하거나 지정합니다(예: 수채화).
시작하기 전에
- 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.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
-
환경에 대한 인증을 설정하세요.
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.
REST
로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.
After installing the Google Cloud CLI, initialize it 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 사용을 위한 인증을 참조하세요.
맞춤설정 프롬프트 작성
Imagen 3 맞춤설정에 사용하는 프롬프트는 생성된 이미지의 품질에 영향을 줄 수 있습니다. 다음 프롬프트 템플릿을 맞춤설정 프롬프트 작성을 위한 시작점으로 사용하세요. 타겟팅된 출력을 얻으려면 여러 요청을 전송해야 할 수 있습니다.
사용 사례 참조 이미지 프롬프트 템플릿 예 제어된 맞춤설정 낙서 지도(1) 다음 설명과 일치하도록 scribble map [1]에 맞춰 이미지 생성: ${STYLE_PROMPT} ${PROMPT}. 다음 설명과 일치하도록 scribble map [1]에 맞춰 이미지 생성: 이미지는 편안한 붓 터치가 있는 인상주의 유화 스타일이어야 합니다. 자연광이 비치는 분위기와 눈에 띄는 붓놀림이 특징입니다. 자동차의 사이드뷰입니다. 그의 차는 도시의 불빛이 웅덩이에 반사되는 젖은 반사 노면에 주차되어 있습니다. 제어된 맞춤설정 캐니 컨트롤 이미지(1) 다음 설명과 일치하도록 edge map [1]에 맞춰 이미지 생성: ${STYLE_PROMPT} ${PROMPT} 다음 설명과 일치하도록 edge map [1]에 맞춰 이미지 생성. 이미지는 편안한 붓 터치가 있는 인상주의 유화 스타일이어야 합니다. 자연광이 비치는 분위기와 눈에 띄는 붓놀림이 특징입니다. 자동차의 사이드뷰입니다. 그의 차는 도시의 불빛이 웅덩이에 반사되는 젖은 반사 노면에 주차되어 있습니다. FaceMesh 입력을 통한 사람 이미지 스타일 지정 피사체 이미지(1-3)
얼굴 메시 대조 이미지(1)설명과 일치하는 CONTROL_IMAGE [2]의 포즈로 SUBJECT_DESCRIPTION [1]에 관한 이미지를 만들어 줘: SUBJECT_DESCRIPTION [1]의 초상화 ${PROMPT} 다음 설명과 일치하도록 a woman with short hair [1] 이미지 생성: control image [2]의 포즈를 취한 a woman with short hair [1]의 초상화로 배경이 흐리게 처리된 3D 만화 스타일 카메라를 향하고 있으며, 미소 짓는 얼굴을 가진 귀엽고 사랑스러운 캐릭터, 파스텔 색조, 고품질, 4K, 걸작, 슈퍼 디테일, 피부 질감, 텍스처 매핑, 부드러운 그림자, 부드럽고 사실적인 조명, 생생한 색상 FaceMesh 입력을 통한 사람 이미지 스타일 지정 피사체 이미지(1-3)
얼굴 메시 대조 이미지(1)설명과 일치하도록 CONTROL_IMAGE [2]의 포즈로 SUBJECT_DESCRIPTION [1]에 관한 ${STYLE_PROMPT} 이미지 생성: SUBJECT_DESCRIPTION [1]의 초상화 ${PROMPT} 설명과 일치하는 control image [2]의 포즈를 취한 a woman with short hair [1]에 관한 3D 만화 스타일 이미지 생성: a woman with short hair [1]의 초상화로 배경이 흐리게 처리된 3D 만화 스타일 카메라를 향하고 웃는 얼굴을 한 귀엽고 사랑스러운 캐릭터, 파스텔 색조, 고품질, 4K, 걸작, 슈퍼 디테일, 피부 질감, 텍스처 매핑, 부드러운 그림자, 부드럽고 사실적인 조명, 생생한 색상 Imagen 3 제어된 맞춤설정 요청 전송
다음 샘플을 사용하여 Imagen 3 제어된 맞춤설정 요청을 전송합니다.
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: Google Cloud 프로젝트 ID
- LOCATION: 프로젝트의 리전입니다. 예를 들면
us-central1
,europe-west2
,asia-northeast3
입니다. 사용 가능한 리전 목록은 Vertex AI의 생성형 AI 위치를 참조하세요. - TEXT_PROMPT: 모델이 생성하는 이미지를 안내하는 텍스트 프롬프트입니다. Imagen 3 제어된 맞춤설정을 사용하려면 제공한 컨트롤 참고 이미지의
referenceId
를 [$referenceId] 형식으로 포함합니다. 예를 들면 다음과 같습니다.- 설명과 일치하도록 낙서 지도 [1]에 맞는는 이미지를 생성합니다. [image description].
- BASE64_CONTROL_IMAGE: 기본 컨트롤 이미지(스케치)입니다. 이미지는 base64 인코딩 바이트 문자열로 지정되어야 합니다.
CONTROL_TYPE_SCRIBBLE
의 경우 예상되는 낙서 컨트롤 이미지에는 검은색 배경과 흰색 낙서 선이 있습니다.CONTROL_TYPE_CANNY
의 경우 예상되는 캐니 윤곽선 컨트롤 이미지에는 검은색 배경과 흰색 캐니 윤곽선이 있습니다. - CONTROL_TYPE: 컨트롤 신호의 유형입니다. 캐니 윤곽선에
CONTROL_TYPE_CANNY
를 사용합니다. 낙서에CONTROL_TYPE_SCRIBBLE
을 사용합니다. enableControlImageComputation
: 자체 컨트롤 이미지를 제공하는 경우false
로 설정합니다. 이 경우B64_BASE_IMAGE
는 컨트롤 신호 이미지여야 합니다. Imagen이 컨트롤 이미지에서 참고 이미지를 계산하도록 하려면true
로 설정합니다. 이 경우B64_BASE_IMAGE
는 원시 RGB 이미지여야 합니다.- IMAGE_COUNT: 생성된 이미지의 수입니다. 허용되는 정수 값: 1~4. 기본값: 4.
HTTP 메서드 및 URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagen-3.0-capability-001:predict
JSON 요청 본문:
{ "instances": [ { "prompt": "TEXT_PROMPT", "referenceImages": [ { "referenceType": "REFERENCE_TYPE_CONTROL", "referenceId": 1, "referenceImage": { "bytesBase64Encoded": "BASE64_CONTROL_IMAGE" }, "controlImageConfig": { "controlType": "CONTROL_TYPE", "enableControlImageComputation": false } } ] } ], "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/imagen-3.0-capability-001: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/imagen-3.0-capability-001:predict" | Select-Object -Expand Content"sampleCount": 2
요청에 대한 샘플 응답입니다. 응답은 생성된 이미지 바이트를 base64로 인코딩한 두 개의 예측 객체를 반환합니다.{ "predictions": [ { "bytesBase64Encoded": "BASE64_IMG_BYTES", "mimeType": "image/png" }, { "mimeType": "image/png", "bytesBase64Encoded": "BASE64_IMG_BYTES" } ] }
Python
자유곡선
캐니 에지
Imagen 2 제어된 맞춤설정 요청 전송
입력 이미지 기타 매개변수 출력 이미지 입력 이미지. 이미지 출처: Unsplash의 Alec Cutter 프롬프트: '디지털 아트 버전'
부정 프롬프트: '흑백'
가이드 이미지 유형: 표준 RGB
제어 조건: 캐니 윤곽선
Imagen 제어 스케일: 0.95
입력 이미지. 이미지 출처: Unsplash의 Alec Cutter
(캐니 윤곽선 감지 적용).프롬프트: '디지털 아트 버전'
부정 프롬프트: '흑백'
가이드 이미지 유형: 캐니 윤곽선
Imagen 제어 스케일: 0.95
다음 샘플을 사용하여 Imagen 2 제어된 맞춤설정 요청을 전송합니다.
콘솔
-
Google Cloud 콘솔에서 Vertex AI > Media Studio 페이지로 이동합니다.
-
하단 태스크 패널에서
이미지 수정을 클릭합니다. -
업로드를 클릭하여 로컬에 저장된 이미지를 선택해 수정합니다.
-
파라미터 패널의 모드 섹션에서 제어를 클릭합니다.
-
선택사항. 결과 수를 수정하거나 부정 프롬프트를 제공하거나 고급 옵션 > 리전을 수정합니다.
-
고급 옵션 섹션에서 가이드 이미지 유형(표준 RGB, 캐니 윤곽선 또는 낙서)을 선택합니다.
-
고급 옵션 섹션에서 조건 제어(캐니 윤곽선 또는 낙서)를 선택합니다.
-
프롬프트 필드(프롬프트 작성...)에 텍스트 프롬프트를 입력합니다.
-
생성을 클릭합니다.
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: Google Cloud 프로젝트 ID
- TEXT_PROMPT: 모델이 생성하는 이미지를 안내하는 텍스트 프롬프트. 이 필드는 생성 및 수정 모두에서 필요합니다.
- B64_BASE_IMAGE: 수정하거나 확대할 기본 이미지. 이미지는 base64 인코딩 바이트 문자열로 지정되어야 합니다. 크기 제한: 10MB.
- EDIT_IMAGE_COUNT: 수정된 이미지의 수. 기본값: 4
- NEGATIVE_PROMPT: 이미지를 생성하는 데 도움이 되는 네거티브 프롬프트입니다. 예를 들면 '동물'(동물 제거), '흐림'(이미지 선명화), '텍스트'(텍스트 제거) 또는 '자르기'(잘린 이미지 제거) 등입니다.
-
CONDITION:
string
. 제공된 제어 이미지 신호의 유형입니다. 값:cannyEdges
또는scribble
. -
CONTROL_SCALE:
float
. 제어 이미지 신호 강도입니다. 값:0.0
~1.0
기본값은0.95
입니다. 권장 범위:0.9
~1.0
-
SAMPLING_STEPS:
integer
. 샘플링 단계 수입니다. 값:1
~30
기본값:16
-
COMPUTE_CONDITION_MAP:
boolean
. 기본 입력 이미지에서 조건 맵을 계산할지 여부입니다.false
로 설정하면 서비스는 입력 이미지로 낙서나 캐니 윤곽선을 예상하며 이미지가 모델에 직접 제공됩니다.true
로 설정하면 서비스는 입력 이미지로 RGB 이미지를 예상하고conditionName
을 기반으로 입력 이미지에서 캐니 윤곽선 또는 낙서 정보를 계산합니다. 그런 다음 서비스는 이미지 편집을 위해 처리된 조건 맵을 모델에 제공합니다. 낙서 이미지를 제공하는 경우 배경은 검은색이어야 하며 생성할 객체를 흰색 선으로 묘사해야 합니다. 기본값은false
입니다.
HTTP 메서드 및 URL:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/imagen-2.0-edit-preview-0627:predict
JSON 요청 본문:
{ "instances": [ { "prompt": "TEXT_PROMPT", "image": { "bytesBase64Encoded": "B64_BASE_IMAGE" } } ], "parameters": { "sampleCount": EDIT_IMAGE_COUNT, "negativePrompt": "NEGATIVE_PROMPT", "controlPluginConfig": { "conditions": [ { "conditionName": "CONDITION", "controlScale": CONTROL_SCALE, "samplingSteps": SAMPLING_STEPS, "computeConditionMap": COMPUTE_CONDITION_MAP } ] } } }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/imagen-2.0-edit-preview-0627: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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/imagen-2.0-edit-preview-0627:predict" | Select-Object -Expand Content"sampleCount": 2
요청에 대한 샘플 응답입니다. 응답은 생성된 이미지 바이트를 base64로 인코딩한 두 개의 예측 객체를 반환합니다.{ "predictions": [ { "bytesBase64Encoded": "BASE64_IMG_BYTES", "mimeType": "image/png" }, { "mimeType": "image/png", "bytesBase64Encoded": "BASE64_IMG_BYTES" } ] }
제품 사용량
Vertex AI 기반 Imagen과 관련된 사용량 표준과 콘텐츠 제한을 보려면 사용 가이드라인을 참조하세요.
모델 버전
사용할 수 있는 이미지 생성 모델은 여러 가지가 있습니다. 자세한 내용은 Imagen 모델을 참조하세요.
다음 단계
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-07-08(UTC)