Prueba la generación de imágenes (Vertex AI Studio)
En esta página, se describe el uso de un número de origen en Imagen en Vertex AI para generar imágenes determinísticas.
Un número de origen es un número que agregas a una solicitud para hacer que las imágenes generadas no determinísticas sean determinísticas. Determinístico significa que cada vez que generas una imagen con Imagen, recibes el mismo resultado generado.
Por ejemplo, puedes proporcionar una instrucción, establecer la cantidad de resultados en 1 y usar un número de origen para obtener la misma imagen cada vez que uses los mismos valores de entrada. Si envías la misma solicitud con el número de resultados establecido en 8, obtendrás las mismas ocho imágenes.
Usa un origen para generar imágenes
Haz lo siguiente:
REST
Para obtener más información sobre la API de Imagen, consulta lo siguiente:
- Método:
endpoints.predict VisionGenerativeModelInstanceVisionGenerativeModelParamsVisionGenerativeModelResult
El número de origen es un campo opcional en el objeto parameters de un cuerpo de la solicitud JSON.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- REGION: Es la región en la que se encuentra tu proyecto. Para obtener más información sobre las regiones admitidas, consulta IA generativa en ubicaciones de Vertex AI.
- PROJECT_ID: Es el ID del Google Cloud proyecto.
-
MODEL_VERSION: Es la versión del modelo de Imagen que se usará. Para obtener más información sobre los modelos disponibles, consulta Modelos de Imagen.
- TEXT_PROMPT: Es la instrucción de texto que guía qué imágenes genera el modelo. Este campo es obligatorio para la generación y la edición.
-
IMAGE_COUNT: Es la cantidad de imágenes que se generarán. El rango de valores aceptado
es de
1a4. - ADD_WATERMARK: Booleano. Es opcional. Indica si se debe habilitar una marca de agua para las imágenes generadas.
Cualquier imagen generada cuando el campo se configura como
truecontiene un SynthID digital SynthID que puedes usar para verificar una imagen con marca de agua. Si omites este campo, se usa el valor predeterminado detrue. Debes establecer el valor enfalsepara inhabilitar esta función. Puedes usar el camposeedpara obtener una salida determinista solo cuando este campo se establece enfalse. - ASPECT_RATIO: Cadena. Es opcional. Un parámetro de modo de generación que controla la relación de aspecto. Valores de proporción admitidos y su uso previsto:
1:1(predeterminado, cuadrado)3:4(anuncios y redes sociales)4:3(TV, fotografía)16:9(horizontal)9:16(vertical)
- ENABLE_PROMPT_REWRITING: Booleano. Es opcional. Un parámetro para usar una función de reformulación de instrucciones
basada en LLM para generar imágenes de mayor calidad que reflejen mejor la intención de la instrucción original. Inhabilitar esta función puede afectar la calidad de la imagen y
el cumplimiento de las instrucciones. Valor predeterminado
true. -
INCLUDE_RAI_REASON: Booleano. Es opcional. Un valor booleano que indica si se debe habilitar el código de motivo de IA responsable filtrado en respuestas con entradas o salidas bloqueadas. Valor predeterminado:
true. - INCLUDE_SAFETY_ATTRIBUTES: Booleano. Es opcional. Indica si se deben habilitar las puntuaciones redondeadas
de IA responsable para obtener una lista de atributos de seguridad en las respuestas de entrada y
salida sin filtrar. Categorías de atributos de seguridad:
"Death, Harm & Tragedy","Firearms & Weapons","Hate","Health","Illicit Drugs","Politics","Porn","Religion & Belief","Toxic","Violence","Vulgarity","War & Conflict". Valor predeterminado:false. - MIME_TYPE: Cadena. Es opcional. El tipo de MIME del contenido de la imagen. Valores
disponibles:
image/jpegimage/gifimage/pngimage/webpimage/bmpimage/tiffimage/vnd.microsoft.icon
- COMPRESSION_QUALITY: Número entero. Es opcional. Solo se aplica a los archivos de salida JPEG. El nivel de detalle que el modelo conserva para las imágenes generadas en formato de archivo JPEG. Valores:
0a100, en el que un número más alto significa más compresión. Valor predeterminado:75. - PERSON_SETTING: Cadena. Es opcional. La configuración de seguridad que controla el tipo de
personas o rostros que permite el modelo. El valor predeterminado depende del modelo. Valores
disponibles:
allow_all: Permite la generación de personas, incluidos menores. Este es el valor predeterminado para los modelos de generación de Imagen 4, imagen-3.0-capability-001 y imagen-product-recontext-preview-06-30.allow_adult: Permite la generación de adultos solamente, incluidas las celebridades. Este es el valor predeterminado para todos los demás modelos.dont_allow: Inhabilita la inclusión de personas o rostros en las imágenes generadas.
- SAFETY_SETTING: Cadena. Es opcional. Una configuración que controla los umbrales del filtro de seguridad
para las imágenes generadas. Valores disponibles:
block_low_and_above: El umbral de seguridad más alto, que da como resultado la mayor cantidad de imágenes generadas que se filtran. Valor anterior:block_most.block_medium_and_above(configuración predeterminada): Un umbral de seguridad medio que equilibra el filtrado del contenido potencialmente dañino y seguro. Valor anterior:block_some.block_only_high: Un umbral de seguridad que reduce la cantidad de solicitudes bloqueadas debido a los filtros de seguridad. Esta configuración puede aumentar el contenido censurable que genera Imagen. Valor anterior:block_few.
- SEED_NUMBER: Número entero. Es opcional. Cualquier número entero no negativo que proporciones para que las imágenes de salida sean determinísticas. Proporcionar el mismo número de origen siempre da como resultado las mismas imágenes de salida. Si
el modelo que usas admite marcas de agua digitales, debes establecer
"addWatermark": falsepara usar este campo. Valores enteros aceptados:1a2147483647. - OUTPUT_STORAGE_URI: Cadena. Es opcional. El bucket de Cloud Storage para almacenar las imágenes de salida. Si no se proporciona, los bytes de imagen codificados en base64 se muestran en la respuesta. Valor de muestra:
gs://image-bucket/output/.
Parámetros opcionales adicionales
Usa las siguientes variables opcionales según tu caso de uso. Agrega algunos o todos los siguientes parámetros en el objeto "parameters": {}.
En esta lista, se muestran parámetros opcionales comunes y no pretende ser exhaustiva. Para obtener más
información sobre los parámetros opcionales,
consulta la referencia de la API de Imagen: Genera imágenes.
"parameters": {
"sampleCount": IMAGE_COUNT,
"addWatermark": ADD_WATERMARK,
"aspectRatio": "ASPECT_RATIO",
"enhancePrompt": ENABLE_PROMPT_REWRITING,
"includeRaiReason": INCLUDE_RAI_REASON,
"includeSafetyAttributes": INCLUDE_SAFETY_ATTRIBUTES,
"outputOptions": {
"mimeType": "MIME_TYPE",
"compressionQuality": COMPRESSION_QUALITY
},
"personGeneration": "PERSON_SETTING",
"safetySetting": "SAFETY_SETTING",
"seed": SEED_NUMBER,
"storageUri": "OUTPUT_STORAGE_URI"
}
Método HTTP y URL:
POST https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/MODEL_VERSION:predict
Cuerpo JSON de la solicitud:
{
"instances": [
{
"prompt": "TEXT_PROMPT"
}
],
"parameters": {
"sampleCount": IMAGE_COUNT
}
}
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://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/MODEL_VERSION: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://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/publishers/google/models/MODEL_VERSION:predict" | Select-Object -Expand Content
"sampleCount":
2. La respuesta muestra dos objetos de predicción, con los bytes de imagen generados codificados en base64.
{ "predictions": [ { "bytesBase64Encoded": "BASE64_IMG_BYTES", "mimeType": "image/png" }, { "mimeType": "image/png", "bytesBase64Encoded": "BASE64_IMG_BYTES" } ] }
Si usas un modelo que admite la mejora de instrucciones, la respuesta incluye un campo prompt adicional con la instrucción mejorada que se usó para la generación:
{
"predictions": [
{
"mimeType": "MIME_TYPE",
"prompt": "ENHANCED_PROMPT_1",
"bytesBase64Encoded": "BASE64_IMG_BYTES_1"
},
{
"mimeType": "MIME_TYPE",
"prompt": "ENHANCED_PROMPT_2",
"bytesBase64Encoded": "BASE64_IMG_BYTES_2"
}
]
}
Reemplaza lo siguiente:
- SEED_NUMBER: Número entero. Es opcional. Cualquier número entero no negativo que proporciones para que las imágenes de salida sean determinísticas. Proporcionar el mismo número de origen siempre da como resultado las mismas imágenes de salida. Si
el modelo que usas admite marcas de agua digitales, debes establecer
"addWatermark": falsepara usar este campo. Valores enteros aceptados:1a2147483647.
- SEED_NUMBER: Número entero. Es opcional. Cualquier número entero no negativo que proporciones para que las imágenes de salida sean determinísticas. Proporcionar el mismo número de origen siempre da como resultado las mismas imágenes de salida. Si
el modelo que usas admite marcas de agua digitales, debes establecer
{
"instances": [
...
],
"parameters": {
"sampleCount": IMAGE_COUNT,
"seed": SEED_NUMBER,
// required for model version 006 and greater only when using a seed number
"addWatermark": false
}
}
¿Qué sigue?
- Usa el reescritor de instrucciones
- Configura el idioma de la instrucción de texto
- Configura la relación de aspecto
- Omitir contenido con una instrucción negativa