imagetext
は、画像キャプションをサポートするモデルの名前です。imagetext
は、指定された言語に基づいて、指定された画像から字幕を生成します。このモデルは、英語(en
)、ドイツ語(de
)、フランス語(fr
)、スペイン語(es
)、イタリア語(it
)の言語をサポートしています。
コンソールでこのモデルを調べるには、Model Garden に移動して Image Captioning
モデルカードを確認します。
ユースケース
画像キャプションの一般的なユースケースは次のとおりです。
- クリエイターが、アップロードされた画像や動画に字幕(動画シーケンスの簡単な説明など)を生成する
- 商品を説明する字幕を生成する
- 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、最大 20 MB) |
gcsUri |
キャプションを付ける画像の Cloud Storage URI。 | Cloud Storage 内の画像ファイルの文字列 URI(PNG または JPEG、最大 20 MB) |
mimeType |
省略可。指定する画像の MIME タイプ。 | 文字列(image/jpeg または image/png ) |
sampleCount |
生成されるテキスト文字列の数。 | Int 値: 1~3 |
seed |
省略可。乱数ジェネレータ(RNG)に対するシード。入力を使用するリクエストの RNG シードが同じであれば、予測結果は同じになります。 | integer |
storageUri |
省略可。生成されたテキスト レスポンスを保存する Cloud Storage のロケーション。 | string |
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 でエンコードされたバイト文字列として指定する必要があります。サイズ制限: 10 MB。
- 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"
]
}