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 Scribble (funzionalità in 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 l'adattamento controllato di Imagen 3 è addestrato a fornire buoni risultati:
Genera un'immagine che segue il prompt e le immagini di controllo dei bordi.
Genera un'immagine che segue il prompt e le immagini degli scarabocchi.
Stilizza una foto di una persona preservando l'espressione facciale.
Esempi di casi d'uso non previsti
Di seguito sono riportati i casi d'uso per i quali Imagen 3 Controlled Customization non è addestrato e produce risultati scadenti:
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 scarabocchio 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 la 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 carichi di lavoro.
-
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, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). 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, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Configura l'autenticazione per il tuo ambiente.
Seleziona la scheda relativa a come prevedi di 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 create dall'AI. Utilizza i seguenti modelli di prompt come punto di partenza per scrivere prompt di personalizzazione. Potresti dover inviare diverse richieste per ottenere l'output desiderato.
| Caso d'uso | Immagini di riferimento | Template di prompt | Esempio |
|---|---|---|---|
| Personalizzazione controllata | Scribble Maps (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. Ha un'atmosfera illuminata naturalmente e pennellate evidenti. Una vista laterale di un'auto. L'auto è parcheggiata su una superficie stradale 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 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 |
| 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à 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
Per saperne di più sull'API Imagen, consulta le seguenti risorse:
- Metodo:
endpoints.predict VisionGenerativeModelInstanceVisionGenerativeModelParamsVisionGenerativeModelResult
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 se è in 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 di 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: impostalo sufalsese fornisci la tua immagine di controllo. In questo caso,B64_BASE_IMAGEdeve essere l'immagine indicatore di controllo. Imposta sutruese 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. 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 creata dall'AI con codifica base64.
{
"predictions": [
{
"bytesBase64Encoded": "BASE64_IMG_BYTES",
"mimeType": "image/png"
},
{
"mimeType": "image/png",
"bytesBase64Encoded": "BASE64_IMG_BYTES"
}
]
}
Inviare una richiesta di personalizzazione controllata di Imagen 2
| Immagine di input | Altri parametri | Immagine di output |
|---|---|---|
|
Prompt: "digital art version" (versione di arte digitale) Prompt negativo: "bianco e nero" Tipo di immagine guida:RGB standard Condizione di controllo: canny edge Scala di controllo Imagen: 0,95 |
|
(è stato applicato il rilevamento dei contorni). |
Prompt: "digital art version" Prompt negativo: "bianco e nero" Tipo di immagine guida: canny edge Scala di controllo Imagen: 0,95 |
|
Utilizza i seguenti esempi per inviare una richiesta di personalizzazione controllata di Imagen 2:
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
Puoi utilizzare diversi modelli di generazione di immagini. Per saperne di più, consulta 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à