Títulos de imágenes

imagetext es el nombre del modelo que admite la generación de subtítulos de imágenes. imagetext genera un título a partir de una imagen que proporciones en función del idioma que especifiques. El modelo admite los siguientes idiomas: alemán (de), español (es), francés (fr), inglés (en) e italiano (it).

Para explorar este modelo en la consola, consulta la Image Captioningtarjeta de modelo en Model Garden.

Ver la tarjeta del modelo Imagen for Captioning & VQA

Casos prácticos

Estos son algunos casos prácticos habituales de la generación de subtítulos de imágenes:

  • Los creadores pueden generar subtítulos para las imágenes y los vídeos que suban (por ejemplo, una breve descripción de una secuencia de vídeo).
  • Generar subtítulos para describir productos
  • Integrar subtítulos en una aplicación mediante la API para crear nuevas experiencias

Solicitud HTTP

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

Cuerpo de la solicitud

{
  "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
  }
}

Usa los siguientes parámetros para el modelo Imagen imagetext. Para obtener más información, consulta Obtener descripciones de imágenes mediante descripciones visuales.

Parámetro Descripción Valores aceptables
instances Es un array que contiene el objeto con los detalles de la imagen de la que se quiere obtener información. matriz (se permite 1 objeto de imagen)
bytesBase64Encoded La imagen a la que se le va a añadir un título. Cadena de imagen codificada en Base64 (PNG o JPEG, 20 MB como máximo)
gcsUri El URI de Cloud Storage de la imagen a la que se le va a añadir un título. URI de cadena del archivo de imagen en Cloud Storage (PNG o JPEG, 20 MB como máximo)
mimeType Opcional. El tipo MIME de la imagen que especifiques. cadena (image/jpeg o image/png)
sampleCount Número de cadenas de texto generadas. Valor int: 1-3
seed Opcional. La semilla del generador de números aleatorios (RNG). Si la semilla de RNG es la misma para las solicitudes con las entradas, los resultados de la predicción serán los mismos. entero
storageUri Opcional. Ubicación de Cloud Storage en la que se guardarán las respuestas de texto generadas. cadena
language Opcional. La petición de texto para guiar la respuesta. Cadena: en (predeterminada), de, fr, it, es

Solicitud de ejemplo

REST

Para probar una petición de texto con la API de Vertex AI, envía una solicitud POST al endpoint del modelo de editor.

Antes de usar los datos de la solicitud, haz las siguientes sustituciones:

  • PROJECT_ID: tu Google Cloud ID de proyecto.
  • LOCATION: la región de tu proyecto. Por ejemplo, us-central1, europe-west2 o asia-northeast3. Para ver una lista de las regiones disponibles, consulta Ubicaciones de la IA generativa en Vertex AI.
  • B64_IMAGE: la imagen de la que se obtendrán los subtítulos. La imagen debe especificarse como una cadena de bytes codificada en Base64. Tamaño máximo: 10 MB.
  • RESPONSE_COUNT: el número de pies de foto que quieres generar. Valores enteros aceptados: del 1 al 3.
  • LANGUAGE_CODE: uno de los códigos de idioma admitidos. Idiomas admitidos:
    • Inglés (en)
    • Francés (fr)
    • Alemán (de)
    • Italiano (it)
    • Español (es)

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

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

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

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

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

$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
Las siguientes respuestas de ejemplo corresponden a una solicitud con "sampleCount": 2. La respuesta devuelve dos cadenas de predicción.

Inglés (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"
}

Español (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"
  ]
}

Cuerpo de la respuesta

{
  "predictions": [ string ]
}
Elemento de respuesta Descripción
predictions Lista de cadenas de texto que representan subtítulos, ordenadas por confianza.

Respuesta de ejemplo

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