이미지 캡션

imagetext는 이미지 생성을 지원하는 모델의 이름입니다. imagetext는 지정한 언어를 기반으로 사용자가 제공하는 이미지에서 캡션을 생성합니다. 이 모델은 영어(en), 독일어(de), 프랑스어 (fr), 스페인어 (es), 이탈리아어(it)를 지원합니다.

콘솔에서 이 모델을 살펴보려면 Model Garden의 Image Captioning 모델 카드를 참조하세요.

Model Garden으로 이동

사용 사례

이미지 캡셔닝의 일반적인 사용 사례는 다음과 같습니다.

  • 제작자는 업로드된 이미지와 동영상에 대한 자막을 생성할 수 있습니다(예: 동영상 시퀀스에 대한 간단한 설명).
  • 제품을 설명하는 자막 생성
  • API로 앱에 자막 기능을 통합하여 새로운 경험 제공

HTTP 요청

POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/imagetext:predict

요청 본문

{
  "instances": [
    {
      "image": {
        // Union field can be only one of the following:
        "bytesBase64Encoded": string,
        "gcsUri": string,
        // End of list of possible types for union field.
        "mimeType": string
      }
    }
  ],
  "parameters": {
    "sampleCount": integer,
    "storageUri": string,
    "language": string,
    "seed": integer
  }
}

Imagen 모델 imagetext에 대해 다음 매개변수를 사용합니다. 자세한 내용은 이미지 캡셔닝을 사용하여 이미지 설명 가져오기를 참조하세요.

매개변수 설명 사용 가능한 값
instances 정보를 가져올 이미지 세부정보가 있는 객체를 포함하는 배열입니다. 배열(이미지 객체 1개 허용)
bytesBase64Encoded 자막을 추가할 이미지입니다. Base64로 인코딩된 이미지 문자열(PNG 또는 JPEG, 최대 20MB)
gcsUri 자막을 추가할 이미지의 Cloud Storage URI입니다. Cloud Storage에 있는 이미지 파일의 문자열 URI(PNG 또는 JPEG, 최대 20MB)
mimeType 선택사항입니다. 지정한 이미지의 MIME 유형입니다. 문자열(image/jpeg 또는 image/png)
sampleCount 생성된 텍스트 문자열 수입니다. Int value: 1-3
seed (선택사항) 랜덤 숫자 생성기(RNG)의 시드. 입력이 있는 요청에서 RNG 시드가 동일하면 예측 결과가 동일합니다. 정수
storageUri (선택사항) 생성된 텍스트 응답을 저장할 Cloud Storage 위치입니다. 문자열
language (선택사항) 응답을 안내하는 텍스트 프롬프트입니다. 문자열: en(기본값), de, fr, it, es

샘플 요청

REST

Vertex AI API를 사용하여 텍스트 프롬프트를 테스트하려면 POST 요청을 게시자 모델 엔드포인트로 전송합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT_ID: Google Cloud 프로젝트 ID입니다.
  • LOCATION: 프로젝트의 리전입니다. 예를 들면 us-central1, europe-west2, asia-northeast3입니다. 사용 가능한 리전 목록은 Vertex AI의 생성형 AI 위치를 참조하세요.
  • B64_IMAGE: 자막을 가져올 이미지입니다. 이미지는 base64 인코딩 바이트 문자열로 지정되어야 합니다. 크기 제한: 10MB.
  • RESPONSE_COUNT: 생성할 이미지 자막의 수입니다. 허용되는 정수 값: 1~3.
  • LANGUAGE_CODE: 지원되는 언어 코드 중 하나입니다. 지원되는 언어는 다음과 같습니다.
    • 영어(en)
    • 프랑스어(fr)
    • 독일어(de)
    • 이탈리아어(it)
    • 스페인어(es)

HTTP 메서드 및 URL:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagetext:predict

JSON 요청 본문:

{
  "instances": [
    {
      "image": {
          "bytesBase64Encoded": "B64_IMAGE"
      }
    }
  ],
  "parameters": {
    "sampleCount": RESPONSE_COUNT,
    "language": "LANGUAGE_CODE"
  }
}

요청을 보내려면 다음 옵션 중 하나를 선택합니다.

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/imagetext: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/imagetext:predict" | Select-Object -Expand Content
다음은 "sampleCount": 2가 포함된 요청의 샘플 응답입니다. 응답은 예측 문자열 2개를 반환합니다.

영어(en):

{
  "predictions": [
    "a yellow mug with a sheep on it sits next to a slice of cake",
    "a cup of coffee with a heart shaped latte art next to a slice of cake"
  ],
  "deployedModelId": "DEPLOYED_MODEL_ID",
  "model": "projects/PROJECT_ID/locations/LOCATION/models/MODEL_ID",
  "modelDisplayName": "MODEL_DISPLAYNAME",
  "modelVersionId": "1"
}

스페인어(es):

{
  "predictions": [
    "una taza de café junto a un plato de pastel de chocolate",
    "una taza de café con una forma de corazón en la espuma"
  ]
}

응답 본문

{
  "predictions": [ string ]
}
응답 요소 설명
predictions 자막을 나타내는 텍스트 문자열 목록이며 신뢰도 기준으로 정렬됩니다.

샘플 응답

{
  "predictions": [
    "text1",
    "text2"
  ]
}