Questa pagina descrive l'outpainting. L'outpainting ti consente di utilizzare Imagen per espandere i contenuti di un'immagine in un'area più grande o con dimensioni diverse.
Esempio di espansione dell'immagine
L'outpainting è un metodo di modifica basato su maschere che ti consente di espandere i contenuti di un'immagine di base per adattarla a un canvas maschera più grande o di dimensioni diverse.
![]() Fonte dell'immagine: Kari Shea su Unsplash. |
![]() |
![]() |
Visualizzare la scheda del modello Imagen per la modifica e la personalizzazione
Prima di iniziare
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
-
Configura l'autenticazione per il tuo ambiente.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
Java
Per utilizzare gli esempi di Java questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Per saperne di più, consulta Configura ADC per un ambiente di sviluppo locale nella documentazione sull'autenticazione Google Cloud .
Node.js
Per utilizzare gli esempi di Node.js questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Per saperne di più, consulta Configura ADC per un ambiente di sviluppo locale nella documentazione sull'autenticazione Google Cloud .
Python
Per utilizzare gli esempi di Python questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Per saperne di più, consulta Configura ADC per un ambiente di sviluppo locale nella documentazione sull'autenticazione Google Cloud .
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.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Per saperne di più, consulta la sezione Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud .
Espandere i contenuti di un'immagine
Utilizza i seguenti esempi di codice per espandere il contenuto di un'immagine esistente.
Imagen 3
Utilizza i seguenti esempi per inviare una richiesta di outpainting utilizzando il modello Imagen 3.
Console
-
Nella console Google Cloud , vai alla pagina Vertex AI > Media Studio .
- Fai clic su Carica. Nella finestra di dialogo dei file visualizzata, seleziona un file da caricare.
- Fai clic su Outpaint.
- Nel menu Outpaint, seleziona una delle proporzioni predefinite per l'immagine finale oppure fai clic su Personalizza per definire dimensioni personalizzate per l'immagine finale.
-
Nella barra degli strumenti di modifica, seleziona il posizionamento dell'immagine:
- Allinea a sinistra:
- Allinea al centro orizzontalmente:
- Allinea a destra:
- Allinea in alto:
- Allineamento verticale al centro:
- Allinea in basso:
-
(Facoltativo) Nel riquadro Parametri, regola le seguenti
opzioni:
- Modello: il modello Imagen da utilizzare
- Numero di risultati: il numero di risultati da generare
- Prompt negativo: elementi da evitare di generare
- Nel campo del prompt, inserisci un prompt per modificare l'immagine.
- Fai clic su Genera.
Python
Installa
pip install --upgrade google-genai
Per saperne di più, consulta la documentazione di riferimento dell'SDK.
Imposta le variabili di ambiente per utilizzare l'SDK Gen AI con Vertex AI:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=us-central1 export GOOGLE_GENAI_USE_VERTEXAI=True
REST
Per ulteriori informazioni, consulta il riferimento all'API Modifica immagini.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: il tuo Google Cloud ID progetto.
- LOCATION: la regione del tuo progetto. Ad esempio,
us-central1
,europe-west2
oasia-northeast3
. Per un elenco delle regioni disponibili, consulta Località dell'AI generativa su Vertex AI. prompt
: Per l'espansione delle immagini, puoi fornire una stringa vuota per creare le immagini modificate. Se scegli di fornire un prompt, utilizza una descrizione dell'area mascherata per ottenere risultati ottimali. Ad esempio, "un cielo blu" anziché "inserisci un cielo blu".referenceType
: unaReferenceImage
è un'immagine che fornisce un contesto aggiuntivo per la modifica delle immagini. Per i casi d'uso di modifica è necessaria un'immagine di riferimento RGB normale (REFERENCE_TYPE_RAW
). In una richiesta può esistere al massimo un'immagine di riferimento non elaborata. L'immagine di output ha la stessa altezza e larghezza dell'immagine di riferimento non elaborata. Per i casi d'uso di modifica mascherata è necessaria un'immagine di riferimento della maschera (REFERENCE_TYPE_MASK
). Se è presente un'immagine di riferimento non elaborata, l'immagine della maschera deve avere la stessa altezza e larghezza dell'immagine di riferimento non elaborata. Se l'immagine di riferimento della maschera è vuota emaskMode
non è impostato suMASK_MODE_USER_PROVIDED
, la maschera viene calcolata in base all'immagine di riferimento non elaborata.- B64_BASE_IMAGE: L'immagine di base da modificare o aumentare di risoluzione. L'immagine deve essere specificata come stringa di byte con codifica base64. Dimensioni massime: 10 MB.
- B64_OUTPAINTING_MASK: L'immagine in bianco e nero che vuoi utilizzare come livello maschera per modificare l'immagine originale. La maschera deve avere la stessa risoluzione dell'immagine di input. L'immagine di output avrà la stessa risoluzione dell'immagine di input. Questa immagine della maschera deve essere specificata come stringa di byte con codifica base64. Dimensioni massime: 10 MB.
- MASK_DILATION - float. La percentuale della larghezza dell'immagine in base alla quale dilatare questa maschera. Per l'espansione dell'immagine è consigliabile un valore di
0.03
. L'impostazione di"dilation": 0.0
potrebbe comportare bordi evidenti nel punto di estensione o potrebbe causare un effetto bordo bianco. - EDIT_STEPS - numero intero. Il numero di passaggi di campionamento per il modello di base. Per
l'outpainting, inizia con
35
passaggi. Aumenta i passaggi se la qualità non soddisfa i tuoi requisiti. - EDIT_IMAGE_COUNT: il numero di immagini modificate. 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": "", "referenceImages": [ { "referenceType": "REFERENCE_TYPE_RAW", "referenceId": 1, "referenceImage": { "bytesBase64Encoded": "B64_BASE_IMAGE" } }, { "referenceType": "REFERENCE_TYPE_MASK", "referenceId": 2, "referenceImage": { "bytesBase64Encoded": "B64_OUTPAINTING_MASK" }, "maskImageConfig": { "maskMode": "MASK_MODE_USER_PROVIDED", "dilation": MASK_DILATION } } ] } ], "parameters": { "editConfig": { "baseSteps": EDIT_STEPS }, "editMode": "EDIT_MODE_OUTPAINT", "sampleCount": EDIT_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 codificati in base64.{ "predictions": [ { "bytesBase64Encoded": "BASE64_IMG_BYTES", "mimeType": "image/png" }, { "mimeType": "image/png", "bytesBase64Encoded": "BASE64_IMG_BYTES" } ] }
Imagen 2
Utilizza i seguenti esempi per inviare una richiesta di outpainting utilizzando il modello Imagen 2.
Console
-
Nella console Google Cloud , vai alla pagina Vertex AI > Media Studio .
-
Nel riquadro delle attività in basso, fai clic su
Modifica immagine. -
Fai clic su Carica per selezionare l'immagine del prodotto memorizzata localmente da modificare.
-
Nella barra degli strumenti di modifica, fai clic su
Outpaint. -
Seleziona una delle proporzioni predefinite per l'immagine finale oppure fai clic su Personalizzato per definire dimensioni personalizzate per l'immagine finale.
-
Facoltativo. Nella barra degli strumenti di modifica, seleziona il posizionamento orizzontale (
allineamento a sinistra, centrale orizzontale o allineamento a destra) e il posizionamento verticale ( allineamento in alto, centrale verticale o allineamento in basso) dell'immagine originale nel canvas dell'immagine da generare. -
Facoltativo. Nel riquadro Parametri, modifica il Numero di risultati o altri parametri.
-
Fai clic su
Genera.
Python
Per scoprire come installare o aggiornare l'SDK Vertex AI Python, consulta Installare l'SDK Vertex AI Python. Per saperne di più, consulta la documentazione di riferimento dell'API Python.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: il tuo Google Cloud ID progetto.
- LOCATION: la regione del tuo progetto. Ad esempio,
us-central1
,europe-west2
oasia-northeast3
. Per un elenco delle regioni disponibili, consulta Località dell'AI generativa su Vertex AI. prompt
: Per l'espansione delle immagini, puoi fornire una stringa vuota per creare le immagini modificate.- B64_BASE_IMAGE: L'immagine di base da modificare o aumentare di risoluzione. L'immagine deve essere specificata come stringa di byte con codifica base64. Dimensioni massime: 10 MB.
- B64_OUTPAINTING_MASK: L'immagine in bianco e nero che vuoi utilizzare come livello maschera per modificare l'immagine originale. La maschera deve avere la stessa risoluzione dell'immagine di input. L'immagine di output avrà la stessa risoluzione dell'immagine di input. Questa immagine della maschera 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.
Metodo HTTP e URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagegeneration@006:predict
Corpo JSON della richiesta:
{ "instances": [ { "prompt": "", "image": { "bytesBase64Encoded": "B64_BASE_IMAGE" }, "mask": { "image": { "bytesBase64Encoded": "B64_OUTPAINTING_MASK" } } } ], "parameters": { "sampleCount": EDIT_IMAGE_COUNT, "editConfig": { "editMode": "outpainting" } } }
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/imagegeneration@006: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/imagegeneration@006:predict" | Select-Object -Expand Content"sampleCount": 2
. La risposta restituisce due oggetti di previsione, con i byte dell'immagine generata codificati in base64.{ "predictions": [ { "bytesBase64Encoded": "BASE64_IMG_BYTES", "mimeType": "image/png" }, { "mimeType": "image/png", "bytesBase64Encoded": "BASE64_IMG_BYTES" } ] }
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida di Vertex AI per l'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vertex AI Java.
Per autenticarti in Vertex AI, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
In questo esempio, specifichi il modello come parte di un
EndpointName
.EndpointName
viene passato al metodopredict
, che viene chiamato su unPredictionServiceClient
. Il servizio restituisce una versione modificata dell'immagine, che viene poi salvata localmente.Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella guida rapida di Vertex AI per l'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vertex AI Node.js.
Per autenticarti in Vertex AI, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
In questo esempio, chiami il metodopredict
su unPredictionServiceClient
. Il servizio genera immagini che vengono poi salvate localmente.Limitazioni
Il modello potrebbe produrre dettagli distorti se l'immagine inpainting viene espansa del 200% o più rispetto all'immagine originale. Come best practice, ti consigliamo di aggiungere un passaggio di post-elaborazione per eseguire la fusione alfa sulle immagini create con l'outpainting.
Il seguente codice è un esempio di post-elaborazione:
parameters = { "editConfig": { "outpaintingConfig": { "blendingMode": "alpha-blending", "blendingFactor": 0.01, }, }, }
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à
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-07-16 UTC.
-