Imagen을 사용하면 텍스트 프롬프트, 마스크, 기존 이미지를 활용해 몇 초 만에 이미지를 수정할 수 있습니다.
지원되는 모델 버전
Imagen API는 다음 모델을 지원합니다.
imagen-3.0-capability-001
모델에서 지원하는 기능에 대한 자세한 내용은 Imagen 모델을 참조하세요.
HTTP 요청
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagen-3.0-capability-001:predict \
-d '{
"instances": [
{
"referenceImages": [
{
"referenceType": "REFERENCE_TYPE_RAW",
"referenceId": 1,
"referenceImage": {
"bytesBase64Encoded": string
}
},
{
"referenceType": "REFERENCE_TYPE_MASK",
"referenceId": 2,
"referenceImage": {
"bytesBase64Encoded": string
},
"maskImageConfig": {
"maskMode": "MASK_MODE_USER_PROVIDED"
}
}
],
"prompt": string
}
],
"parameters": {
"addWatermark": boolean,
"baseSteps": integer,
"editMode": string,
"guidanceScale": integer,
"includeRaiReason": boolean,
"includeSafetyAttributes": boolean,
"language": string,
"negativePrompt": string,
"outputOptions": {
"mimeType": string,
"compressionQuality": integer
},
"personGeneration": string,
"safetySetting": string,
"sampleCount": integer,
"seed": integer,
"storageUri": string
}
}'
인스턴스
| 인스턴스 | |
|---|---|
prompt |
선택사항. 이미지의 텍스트 프롬프트입니다. |
referenceImages |
필수. 마스크 수정의 경우 |
referenceImages 객체
referenceImages 객체는 Imagen이 수정할 이미지 애셋을 정의합니다.
| 파라미터 | |
|---|---|
referenceType |
필수. 참조 이미지의 유형입니다. 다음 중 하나입니다.
|
referenceId |
필수. 참조 이미지의 고유 식별자입니다. 마스크 수정에서는 사용되지 않습니다. |
referenceImage.bytesBase64Encoded |
필수. Base64로 인코딩된 이미지 바이트입니다. PNG, JPEG, GIF, BMP 파일을 지원합니다. PNG로 트랜스코딩했을 때 최대 크기는 20MB입니다. 마스크 이미지를 제공하는 경우 기본 이미지와 동일한 크기여야 합니다. |
maskImageConfig.maskMode |
|
maskImageConfig.dilation |
선택사항. 범위: [0, 1]. 마스크를 확장(증가)할 이미지 너비 비율입니다. 이는 마스크가 정확하지 않을 때 보정하는 데 도움이 됩니다.
최적의 결과를 위해 아래
|
maskImageConfig.maskClasses |
선택사항. |
파라미터
| 파라미터 | |
|---|---|
addWatermark |
선택사항. 보이지 않는 워터마크를 생성된 이미지에 추가합니다.
기본값은 |
baseSteps |
선택사항. 샘플링 단계 수입니다. 값이 높을수록 이미지 품질이 우수하고 값이 낮을수록 지연 시간이 짧습니다. 기본값은
마스크 영역이 더 작거나 삭제 또는 삽입 모드의 경우 |
editMode
|
마스크 수정에 필요합니다. 다음 값 중 하나를 갖는 enum입니다.
|
guidanceScale |
선택사항. 모델에서 텍스트 프롬프트를 준수하는 정도를 제어합니다. 값이 클수록 출력 및 프롬프트 정렬이 증가하지만 이미지 품질이 저하될 수 있습니다.
허용되는 범위:
기본값: 삽입 모드의 경우 |
includeRaiReason |
선택사항. 필터링된 이미지의 안전 관련 이유를 응답에 포함할지 여부입니다. 기본값은 |
includeSafetyAttributes |
선택사항. 응답에서 각 이미지의 안전 점수를 보고할지 여부입니다. 기본값은 |
language |
선택사항. 텍스트 프롬프트 언어에 해당하는 언어 코드입니다. 다음과 같은 값이 지원됩니다.
|
negativePrompt |
선택사항. 생성된 이미지에서 피해야 할 사항에 대한 설명입니다. |
outputOptions |
선택사항. |
personGeneration |
선택사항. 모델에서 사람을 생성합니다. 다음과 같은 값이 지원됩니다.
마스크 기반 수정의 경우 |
sampleCount |
선택사항. 생성할 이미지 수입니다. 기본값은 4입니다. |
seed |
선택사항. 이미지 생성에 사용되는 무작위 시드입니다. |
safetySetting |
선택사항. 필터 수준을 안전 필터링에 추가합니다. 다음과 같은 값이 지원됩니다.
기본값은
|
storageUri |
선택사항. 생성된 이미지를 저장할 Cloud Storage URI입니다. |
출력 옵션 객체
outputOptions 객체는 이미지 출력을 설명합니다.
| 파라미터 | |
|---|---|
outputOptions.mimeType |
선택사항. 출력을 저장할 이미지 형식입니다. 다음과 같은 값이 지원됩니다.
기본값은 |
outputOptions.compressionQuality |
선택사항. 출력 유형이 |
샘플 요청
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
-
REGION: 프로젝트가 있는 리전입니다. 지원되는 리전에 대한 자세한 내용은 Vertex AI 위치의 생성형 AI를 참조하세요. PROJECT_ID: Google Cloud 프로젝트 ID입니다.-
TEXT_PROMPT: 선택사항. 모델이 생성하는 이미지를 안내하는 텍스트 프롬프트입니다. 최상의 결과를 얻으려면 마스킹된 영역의 설명을 사용하고 한 단어 프롬프트는 피하세요. 예를 들어 '코기' 대신 '귀여운 코기'를 사용하세요. -
B64_BASE_IMAGE: 수정 대상 이미지를 base64로 인코딩한 이미지로, 크기는 10MB 이하여야 합니다. base64 인코딩에 대한 자세한 내용은 Base64 인코딩 및 디코딩 파일을 참조하세요. -
B64_MASK_IMAGE: base64로 인코딩된 흑백 마스크 이미지로, 크기는 10MB 이하여야 합니다. -
MASK_DILATION: 선택사항. 마스크를 확대할 이미지 너비의 비율을 나타내는 0과 1 사이의 부동 소수점 값입니다.dilation을 사용하면 부정확한 마스크를 보정하는 데 도움이 됩니다. 권장 값은0.01입니다. -
EDIT_STEPS: 선택사항. 샘플링 단계 수를 나타내는 정수입니다. 값이 클수록 이미지 품질이 우수하고 값이 작을수록 지연 시간이 짧습니다.처음에는
35단계를 사용하는 것이 좋습니다. 품질이 요구사항에 미치지 못하면 최대75가지 값을 늘리는 것이 좋습니다. -
SAMPLE_COUNT: 선택사항. 생성할 이미지 수를 나타내는 정수입니다. 허용되는 값의 범위는1~4입니다. 기본값은4입니다.
HTTP 메서드 및 URL:
POST https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/imagen-3.0-capability-001:predict
JSON 요청 본문:
{
"instances": [
{
"prompt": "TEXT_PROMPT",
"referenceImages": [
{
"referenceType": "REFERENCE_TYPE_RAW",
"referenceId": 1,
"referenceImage": {
"bytesBase64Encoded": "B64_BASE_IMAGE"
}
},
{
"referenceType": "REFERENCE_TYPE_MASK",
"referenceImage": {
"bytesBase64Encoded": "B64_MASK_IMAGE"
},
"maskImageConfig": {
"maskMode": "MASK_MODE_USER_PROVIDED",
"dilation": MASK_DILATION
}
}
]
}
],
"parameters": {
"editConfig": {
"baseSteps": EDIT_STEPS
},
"editMode": "EDIT_MODE_INPAINT_INSERTION",
"sampleCount": SAMPLE_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://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/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://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/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"
}
]
}
클래스 ID
다음 객체 클래스 ID를 사용하여 특정 객체를 기반으로 이미지 마스크를 자동으로 만듭니다.
클래스 ID(class_) |
객체 |
|---|---|
| 0 | 배낭 |
| 1 | 우산 |
| 2 | 가방 |
| 3 | 타이 |
| 4 | 여행 가방 |
| 5 | 케이스 |
| 6 | 새 |
| 7 | 고양이 |
| 8 | 개 |
| 9 | 말 |
| 10 | 양 |
| 11 | 소 |
| 12 | 코끼리 |
| 13 | 곰 |
| 14 | 얼룩말 |
| 15 | 기린 |
| 16 | 동물(기타) |
| 17 | 전자레인지 |
| 18 | 라디에이터 |
| 19 | 오븐 |
| 20 | 토스터 |
| 21 | 저장 탱크 |
| 22 | 컨베이어 벨트 |
| 23 | 싱크 |
| 24 | 냉장고 |
| 25 | 세탁 건조기 |
| 26 | 선풍기 |
| 27 | 식기 세척기 |
| 28 | 변기 |
| 29 | 욕조 |
| 30 | 샤워기 |
| 31 | 터널 |
| 32 | 다리(건축물) |
| 33 | 부두 |
| 34 | 텐트 |
| 35 | 건물 |
| 36 | 천장 |
| 37 | 노트북 |
| 38 | 키보드 |
| 39 | 마우스 |
| 40 | 리모컨 |
| 41 | 휴대전화 |
| 42 | 텔레비전 |
| 43 | 바닥 |
| 44 | 단계 |
| 45 | 바나나 |
| 46 | apple |
| 47 | 샌드위치 |
| 48 | 주황색 |
| 49 | 브로콜리 |
| 50 | 당근 |
| 51 | 핫도그 |
| 52 | 피자 |
| 53 | 도넛 |
| 54 | 케이크 |
| 55 | 과일(기타) |
| 56 | 음식(기타) |
| 57 | 의자(기타) |
| 58 | 안락의자 |
| 59 | 회전의자 |
| 60 | 스툴 |
| 61 | 시트 |
| 62 | 소파 |
| 63 | 휴지통 |
| 64 | 분재 |
| 65 | 침실용 탁자 |
| 66 | 침대 |
| 67 | 표 |
| 68 | 당구대 |
| 69 | 통 |
| 70 | 책상 |
| 71 | 오토만 |
| 72 | 의상 |
| 73 | 유아용 침대 |
| 74 | 바구니 |
| 75 | 서랍장 |
| 76 | bookshelf |
| 77 | 카운터(기타) |
| 78 | 세면대 |
| 79 | 아일랜드 키친 |
| 80 | 문 |
| 81 | 조명(기타) |
| 82 | 램프 |
| 83 | 촛대 |
| 84 | 샹들리에 |
| 85 | 거울 |
| 86 | 화이트보드 |
| 87 | 선반 |
| 88 | 계단 |
| 89 | 에스컬레이터 |
| 90 | 캐비닛 |
| 91 | 벽난로 |
| 92 | 레인지 |
| 93 | 아케이드 머신 |
| 94 | 자갈 |
| 95 | platform |
| 96 | 운동장 |
| 97 | 철도 |
| 98 | 도로 |
| 99 | 눈 |
| 100 | 보행자 포장도로 |
| 101 | 런웨이 |
| 102 | 지형 |
| 103 | 책 |
| 104 | box |
| 105 | 시계 |
| 106 | 꽃병 |
| 107 | 가위 |
| 108 | 장난감(기타) |
| 109 | 곰 인형 |
| 110 | 헤어드라이어 |
| 111 | 칫솔 |
| 112 | 그림 |
| 113 | 포스터 |
| 114 | 게시판 |
| 115 | 병 |
| 116 | 컵 |
| 117 | 와인잔 |
| 118 | 칼 |
| 119 | 포크 |
| 120 | 숟가락 |
| 121 | 그릇 |
| 122 | 쟁반 |
| 123 | 레인지 후드 |
| 124 | 접시 |
| 125 | 사람 |
| 126 | 라이더(기타) |
| 127 | 자전거 타는 사람 |
| 128 | 모터사이클 선수 |
| 129 | 종이 |
| 130 | 가로등 |
| 131 | 도로 방호벽 |
| 132 | 편지함 |
| 133 | CCTV 카메라 |
| 134 | 전기 배선함 |
| 135 | 도로 표지판 |
| 136 | 신호등 |
| 137 | 소화전 |
| 138 | 주차료 징수기 |
| 139 | 벤치 |
| 140 | 자전거 랙 |
| 141 | 빌보드 |
| 142 | 하늘 |
| 143 | 기둥 |
| 144 | 울타리 |
| 145 | 난간 |
| 146 | 가드레일 |
| 147 | 구릉 산지 |
| 148 | 암석 |
| 149 | 프리스비 |
| 150 | 스키 |
| 151 | 스노우보드 |
| 152 | 구기 종목 |
| 153 | 연 |
| 154 | 야구 방망이 |
| 155 | 야구 글러브 |
| 156 | 스케이트보드 |
| 157 | 서프보드 |
| 158 | 테니스 라켓 |
| 159 | 네트 |
| 160 | 베이스 |
| 161 | 조각 |
| 162 | 열 |
| 163 | 분수 |
| 164 | 어닝 |
| 165 | 의류 |
| 166 | 배너 |
| 167 | 깃발 |
| 168 | 담요 |
| 169 | 커튼(기타) |
| 170 | 샤워 커튼 |
| 171 | 베개 |
| 172 | 수건 |
| 173 | 러그 바닥매트 |
| 174 | 초목 |
| 175 | 자전거 |
| 176 | 자동차 |
| 177 | 오토 릭샤 |
| 178 | 오토바이 |
| 179 | 비행기 |
| 180 | 버스 |
| 181 | 기차 |
| 182 | 트럭 |
| 183 | 트레일러 |
| 184 | 배 |
| 185 | 느린 바퀴의 객체 |
| 186 | 강, 호수 |
| 187 | 바다 |
| 188 | 물(기타) |
| 189 | 수영장 |
| 190 | 폭포 |
| 191 | 벽 |
| 192 | window |
| 193 | 창 블라인드 |
다음 단계
- 자세한 내용은 Vertex AI의 Imagen을 참조하세요.