La personalizzazione controllata consente di creare nuove immagini basate su un'immagine di origine o su un segnale di immagine di origine (contorno di Canny o scarabocchio). Questa pagina mostra come inviare due tipi di richieste di personalizzazione controllata:
Personalizzazione controllata di Imagen 3 (funzionalità GA)
Visualizza la scheda del modello Imagen per la modifica e la personalizzazione
Personalizzazione controllata di Imagen 2: segnale dell'immagine di origine Canny Edge o scarabocchio (funzionalità di anteprima)
I seguenti modelli supportano la personalizzazione controllata:
Casi d'uso
Imagen 3 Controlled Customization offre prompt in stile libero, che possono dare l'impressione che il modello possa fare più di quanto sia addestrato a fare. Le sezioni seguenti descrivono casi d'uso ed esempi per Imagen 3 Controlled Customization.
Il modello è stato addestrato su casi d'uso che forniamo e ci aspettiamo buoni risultati quando utilizzi la personalizzazione controllata di Imagen 3. Se spingi il modello a rispondere in modi inaspettati, non ci aspettiamo buoni risultati.
Esempi di casi d'uso previsti
Di seguito sono riportati i casi d'uso per cui è stato addestrato Imagen 3 Controlled Customization e per cui produce buoni risultati:
Genera un'immagine che segue il prompt e le immagini di controllo dei contorni.
Genera un'immagine che segua il prompt e le immagini con scarabocchi.
Stilizza una foto di una persona preservando l'espressione del viso.
Esempi di casi d'uso non previsti
Di seguito sono riportati i casi d'uso per cui Imagen 3 Controlled Customization non è addestrato e per cui produce risultati di scarsa qualità:
Genera un'immagine utilizzando uno stile specificato nel prompt.
Genera un'immagine da un testo che segue uno stile specifico fornito da un'immagine di riferimento, con un certo livello di controllo sulla composizione dell'immagine utilizzando un'immagine di controllo.
Genera un'immagine da un testo che segue uno stile specifico fornito da un'immagine di riferimento, con un certo livello di controllo sulla composizione dell'immagine utilizzando uno schizzo di controllo.
Genera un'immagine da un testo che segue uno stile specifico fornito dall'immagine di riferimento, con un certo livello di controllo sulla composizione dell'immagine utilizzando un'immagine di controllo. La persona nell'immagine ha un'espressione facciale specifica.
Stilizza una foto di due o più persone e preserva le loro espressioni facciali.
Stilizza una foto di un animale domestico e trasformala in un disegno. Preserva o specifica la composizione dell'immagine (ad esempio, acquerello).
Prima di iniziare
- Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Vertex AI API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Vertex AI API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
Configura l'autenticazione per il tuo ambiente.
Seleziona la scheda relativa a come intendi utilizzare i campioni in questa pagina:
Console
Quando utilizzi la console Google Cloud per accedere ai servizi Google Cloud e alle API, non devi configurare l'autenticazione.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.
Installa Google Cloud CLI.
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Autenticati per usare REST nella documentazione sull'autenticazione di Google Cloud .
Scrittura di prompt di personalizzazione
Il prompt che utilizzi con la personalizzazione di Imagen 3 potrebbe influire sulla qualità delle immagini generate. Utilizza i seguenti modelli di prompt come punto di partenza per scrivere prompt di personalizzazione. Potresti dover inviare diverse richieste per ottenere l'output che ti interessa.
| Caso d'uso | Immagini di riferimento | Modello di prompt | Esempio |
|---|---|---|---|
| Personalizzazione controllata | Mappa con scarabocchi (1) | Genera un'immagine in linea con scribble map [1] in modo che corrisponda alla descrizione: ${STYLE_PROMPT} ${PROMPT}. | Genera un'immagine in linea con scribble map [1] per corrispondere alla descrizione: l'immagine deve essere nello stile di una pittura a olio impressionista con pennellate rilassate. Presenta un'atmosfera illuminata naturalmente e pennellate evidenti. Una vista laterale di un'auto. L'auto è parcheggiata su una strada bagnata e riflettente, con le luci della città che si riflettono nelle pozzanghere. |
| Personalizzazione controllata | Immagine di controllo Canny (1) | Genera un'immagine in linea con edge map [1] in modo che corrisponda alla descrizione: ${STYLE_PROMPT} ${PROMPT} | Genera un'immagine in linea con edge map [1] in modo che corrisponda alla descrizione: l'immagine deve essere in stile pittura a olio impressionista, con pennellate rilassate. Presenta un'atmosfera illuminata naturalmente e pennellate evidenti. Una vista laterale di un'auto. L'auto è parcheggiata su una strada bagnata e riflettente, con le luci della città che si riflettono nelle pozzanghere. |
| Stilizzazione dell'immagine di una persona con input FaceMesh |
Immagine del soggetto (1-3) Immagine di controllo FaceMesh (1) |
Crea un'immagine di SUBJECT_DESCRIPTION [1] nella posa di CONTROL_IMAGE [2] in modo che corrisponda alla descrizione: un ritratto di SUBJECT_DESCRIPTION [1] ${PROMPT} | Crea un'immagine di a woman with short hair [1] nella posa di control image [2] in linea con la descrizione: un ritratto di a woman with short hair [1] in stile cartone animato 3D con uno sfondo sfocato. Un personaggio carino e adorabile, con un volto sorridente, rivolto verso la fotocamera, tonalità di colore pastello, alta qualità, 4K, capolavoro, super dettagli, texture della pelle, mappatura della texture, ombre morbide, morbida illuminazione realistica, colori vivaci |
| Stilizzazione dell'immagine di una persona con input FaceMesh |
Immagine del soggetto (1-3) Immagine di controllo FaceMesh (1) |
Crea un'immagine ${STYLE_PROMPT} di SUBJECT_DESCRIPTION [1] nella posa di CONTROL_IMAGE [2] in modo che corrisponda alla descrizione: un ritratto di SUBJECT_DESCRIPTION [1] ${PROMPT} | Crea un'immagine in stile cartone animato 3D di a woman with short hair [1] nella posa di control image [2] in modo che corrisponda alla descrizione: un ritratto di a woman with short hair [1] in stile cartone animato 3D con uno sfondo sfocato. Un personaggio carino e adorabile con un volto sorridente, rivolto verso la fotocamera, tonalità di colore pastello, alta qualità, 4K, capolavoro, super dettagli, texture della pelle, mappatura delle texture, ombre morbide, illuminazione morbida e realistica, colori vivaci |
Inviare una richiesta di personalizzazione controllata di Imagen 3
Utilizza i seguenti esempi per inviare una richiesta di personalizzazione controllata di Imagen 3:
REST
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_ID: il tuo Google Cloud ID progetto.
- LOCATION: la regione del progetto. Ad esempio,
us-central1,europe-west2oasia-northeast3. Per un elenco delle regioni disponibili, consulta Località dell'AI generativa su Vertex AI. Quando viene utilizzato un endpoint API regionale, la regione dell'URL dell'endpoint determina dove viene elaborata la richiesta e questoLOCATIONnel percorso della risorsa viene ignorato in caso di conflitto. - TEXT_PROMPT: il prompt di testo guida le immagini che il modello genera. Per utilizzare la personalizzazione controllata di Imagen 3, includi il
referenceIddell'immagine di riferimento per il controllo che fornisci nel formato [$referenceId]. Ad esempio:- Genera un'immagine in linea con la mappa abbozzata [1] in modo che corrisponda alla descrizione: [image description].
- BASE64_CONTROL_IMAGE: l'immagine di controllo di base (schizzo). L'immagine
deve essere specificata come stringa di byte con codifica base64.
PerCONTROL_TYPE_SCRIBBLE: l'immagine di controllo dello scarabocchio prevista ha uno sfondo nero e una linea di scarabocchio bianca.
PerCONTROL_TYPE_CANNY: l'immagine di controllo Canny Edge prevista ha uno sfondo nero e bordi Canny bianchi.
- CONTROL_TYPE: il tipo di segnale di controllo. Utilizza
CONTROL_TYPE_CANNYper il rilevamento dei contorni. UsaCONTROL_TYPE_SCRIBBLEper scarabocchiare. enableControlImageComputation: imposta sufalsese fornisci la tua immagine di controllo. In questo caso,B64_BASE_IMAGEdeve essere l'immagine del segnale di controllo. Impostatruese vuoi che Imagen calcoli l'immagine di controllo dall'immagine di riferimento. In questo caso,B64_BASE_IMAGEdeve essere l'immagine RGB non elaborata.- IMAGE_COUNT: il numero di immagini generate. Valori interi accettati: 1-4. Il valore predefinito è 4.
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagen-3.0-capability-001:predict
Corpo JSON della richiesta:
{
"instances": [
{
"prompt": "TEXT_PROMPT",
"referenceImages": [
{
"referenceType": "REFERENCE_TYPE_CONTROL",
"referenceId": 1,
"referenceImage": {
"bytesBase64Encoded": "BASE64_CONTROL_IMAGE"
},
"controlImageConfig": {
"controlType": "CONTROL_TYPE",
"enableControlImageComputation": false
}
}
]
}
],
"parameters": {
"sampleCount": IMAGE_COUNT
}
}
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
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/imagen-3.0-capability-001:predict"
PowerShell
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
$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/imagen-3.0-capability-001:predict" | Select-Object -Expand Content
"sampleCount": 2. La risposta restituisce due oggetti di previsione, con
i byte dell'immagine generata con codifica base64.
{
"predictions": [
{
"bytesBase64Encoded": "BASE64_IMG_BYTES",
"mimeType": "image/png"
},
{
"mimeType": "image/png",
"bytesBase64Encoded": "BASE64_IMG_BYTES"
}
]
}
Python
Scribble
Canny edge
Inviare una richiesta di personalizzazione controllata di Imagen 2
| Immagine di input | Altri parametri | Immagine di output |
|---|---|---|
|
Prompt: "versione di arte digitale" Prompt negativo: "bianco e nero" Tipo di immagine guida:RGB standard Condizione di controllo:rilevamento dei contorni Scala di controllo di Imagen:0,95 |
|
(rilevamento dei contorni di Canny applicato). |
Prompt: "versione di arte digitale" Prompt negativo: "bianco e nero" Tipo di immagine guida: rilevamento dei contorni Scala di controllo di Imagen:0,95 |
|
Utilizza i seguenti esempi per inviare una richiesta di personalizzazione controllata di Imagen 2:
REST
Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:
- PROJECT_ID: il tuo Google Cloud ID progetto.
- TEXT_PROMPT: il prompt di testo che guida le immagini che il modello genera. Questo campo è obbligatorio sia per la generazione che per la modifica.
- B64_BASE_IMAGE: L'immagine di base da modificare o di cui aumentare la risoluzione. L'immagine deve essere specificata come stringa di byte con codifica base64. Dimensioni massime: 10 MB.
- EDIT_IMAGE_COUNT: il numero di immagini modificate. Valore predefinito: 4.
- NEGATIVE_PROMPT: Un prompt negativo per facilitare la generazione delle immagini. Ad esempio: "animali" (rimuove gli animali), "sfocato" (rende l'immagine più nitida), "testo" (rimuove il testo) o "ritagliato" (rimuove le immagini ritagliate).
-
CONDITION:
string. Il tipo di indicatore dell'immagine di controllo fornito. Valori:cannyEdgesoscribble. -
CONTROL_SCALE:
float. L'intensità del segnale dell'immagine di controllo. Valori:0.0-1.0. Valore predefinito:0.95. Intervallo consigliato:0.9-1.0. -
SAMPLING_STEPS:
integer. Il numero di passaggi di campionamento. Valori:1-30. Valore predefinito:16. -
COMPUTE_CONDITION_MAP:
boolean. Indica se calcolare una mappa delle condizioni dall'immagine di input di base. Se impostato sufalse, il servizio prevede che l'immagine di input sia uno scarabocchio o bordi di Canny e l'immagine viene fornita direttamente al modello. Se impostato sutrue, il servizio prevede che l'immagine di input sia un'immagine RGB e calcola i bordi di Canny o le informazioni sugli scarabocchi dall'immagine di input in base aconditionName. Il servizio fornisce quindi la mappa delle condizioni elaborata al modello per la modifica delle immagini. Quando fornisci immagini di scarabocchi, queste devono avere uno sfondo nero e linee bianche che raffigurano l'oggetto da generare. Valore predefinito:false.
Metodo HTTP e URL:
POST https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/imagen-2.0-edit-preview-0627:predict
Corpo JSON della richiesta:
{
"instances": [
{
"prompt": "TEXT_PROMPT",
"image": {
"bytesBase64Encoded": "B64_BASE_IMAGE"
}
}
],
"parameters": {
"sampleCount": EDIT_IMAGE_COUNT,
"negativePrompt": "NEGATIVE_PROMPT",
"controlPluginConfig": {
"conditions": [
{
"conditionName": "CONDITION",
"controlScale": CONTROL_SCALE,
"samplingSteps": SAMPLING_STEPS,
"computeConditionMap": COMPUTE_CONDITION_MAP
}
]
}
}
}
Per inviare la richiesta, scegli una di queste opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/imagen-2.0-edit-preview-0627:predict"
PowerShell
Salva il corpo della richiesta in un file denominato request.json,
quindi esegui il comando seguente:
$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://us-central1-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/publishers/google/models/imagen-2.0-edit-preview-0627:predict" | Select-Object -Expand Content
"sampleCount": 2. La risposta restituisce due oggetti di previsione, con
i byte dell'immagine generata con codifica base64.
{
"predictions": [
{
"bytesBase64Encoded": "BASE64_IMG_BYTES",
"mimeType": "image/png"
},
{
"mimeType": "image/png",
"bytesBase64Encoded": "BASE64_IMG_BYTES"
}
]
}
Utilizzo del prodotto
Per visualizzare gli standard di utilizzo e le limitazioni dei contenuti associati a Imagen su Vertex AI, consulta le linee guida sull'utilizzo.
Versioni modello
Esistono diversi modelli di generazione di immagini che puoi utilizzare. Per saperne di più, consulta la sezione Modelli Imagen.
Passaggi successivi
Leggi gli articoli su Imagen e altri prodotti di AI generativa su Vertex AI:
- Guida per gli sviluppatori per iniziare a utilizzare Imagen 3 su Vertex AI
- Nuovi modelli e strumenti di media generativi, creati con e per i creator
- Novità di Gemini: Custom Gem e generazione di immagini migliorata con Imagen 3
- Google DeepMind: Imagen 3, il nostro modello di conversione da testo a immagine di altissima qualità