Generare immagini da video con Gemini

Puoi utilizzare Gemini per generare immagini da un video, il che può essere utile per creare un'immagine per la miniatura di un video. Le interfacce supportate includono la Cloud de Confiance console e l'API Agent Platform.

I seguenti modelli Gemini supportano la generazione di immagini da un video:

Fai clic per espandere i modelli supportati

Generare immagini da video

Di seguito viene illustrato come generare immagini da video utilizzando Agent Studio o l'API.

Per saperne di più sulle best practice per i prompt, consulta Progettare prompt multimodali prompts.

Console

Per generare immagini da video con Gemini:

  1. Nella sezione Agent Platform della Cloud de Confiance console, vai a Agent Studio > Immagine.

    Vai a Vertex AI Studio

  2. In Impostazioni modello, seleziona uno dei modelli visualizzati.

  3. Nell'area di testo Prompt, fai clic sul pulsante Aggiungi add, quindi seleziona l'origine del file video:

    Carica

    Seleziona il file che vuoi caricare e fai clic su Apri.

    Tramite URL

    Inserisci l'URL del file che vuoi utilizzare e fai clic su Inserisci.

    YouTube

    Inserisci l'URL del video di YouTube che vuoi utilizzare e fai clic su Inserisci.

    Puoi utilizzare qualsiasi video pubblico o un video di proprietà dell'account che hai utilizzato per accedere alla Cloud de Confiance console.

    Cloud Storage

    Seleziona il bucket e poi il file dal bucket che vuoi importare e fai clic su Seleziona.

    Google Drive

    1. Scegli un account e dai il consenso a Vertex AI Studio per accedere al tuo account la prima volta che selezioni questa opzione. Puoi caricare più file con una dimensione totale massima di 10 MB. Un singolo file non può superare i 7 MB.
    2. Fai clic sul file che vuoi aggiungere.
    3. Fai clic su Seleziona.

      La miniatura del file viene visualizzata nel riquadro Prompt. Viene visualizzato anche il numero totale di token. Se i dati del prompt superano il limite di token, i token vengono troncati e non vengono inclusi nel trattamento dei dati.

  4. Scrivi una descrizione dell'immagine che vuoi generare nell'area di testo dell'area di testo Prompt.

  5. Fai clic sul pulsante Prompt ().

Gemini genera un'immagine in base alla tua descrizione. Questa procedura richiede alcuni secondi, ma può essere relativamente più lenta a seconda della capacità.

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 Google 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=global
export GOOGLE_GENAI_USE_ENTERPRISE=True

from google import genai
from google.genai.types import GenerateContentConfig, Modality, Part
from PIL import Image
from io import BytesIO

client = genai.Client()

# A video on 'The ABCs of agent building'
video = "https://www.youtube.com/watch?v=rjoMZyxncUI"

response = client.models.generate_content(
    model="gemini-3.1-flash-image",
    contents=[
        Part.from_uri(
            file_uri=video,
            mime_type="video/mp4"
        ), 
        "Generate an infographic of the topics covered in this video."
    ],
    config=GenerateContentConfig(response_modalities=[Modality.TEXT, Modality.IMAGE]),
)
for part in response.candidates[0].content.parts:
    if part.text:
        print(part.text)
    elif part.inline_data:
        image = Image.open(BytesIO((part.inline_data.data)))
        image.save("output_folder/video-image.png")

REST

Dopo aver configurato l'ambiente, puoi utilizzare REST per testare un prompt testuale. L'esempio seguente invia una richiesta all'endpoint del modello del publisher.

Prima di utilizzare i dati della richiesta, apporta le sostituzioni seguenti:

  • PROJECT_ID: il tuo ID progetto.
  • FILE_URI: l'URI o l'URL del file da includere nel prompt. I valori accettabili includono i seguenti:

    • URI del bucket Cloud Storage: l'oggetto deve essere leggibile pubblicamente o risiedere nello stesso Cloud de Confiance progetto che invia la richiesta.
    • URL HTTP: l'URL del file deve essere leggibile pubblicamente. Puoi specificare un file video, un file audio e fino a 10 file immagine per richiesta. I file audio, i file video e i documenti non possono superare i 15 MB.
    • URL del video di YouTube: il video di YouTube deve essere di proprietà dell' account che hai utilizzato per accedere alla Cloud de Confiance console o essere pubblico. È supportato un solo URL di video di YouTube per richiesta.

    Quando specifichi un fileURI, devi specificare anche il tipo di contenuti multimediali (mimeType) del file. Se Controlli di servizio VPC è abilitato, la specifica di un URL di file multimediale per fileURI non è supportata.

    Se non hai un file video in Cloud Storage, puoi utilizzare il seguente file disponibile pubblicamente: gs://cloud-samples-data/video/animals.mp4 con un tipo MIME video/mp4. Per visualizzare questo video, apri il file MP4 di esempio.

  • MIME_TYPE: Il tipo di contenuti multimediali del file specificato nei campi data o fileUri. I valori accettabili includono:

    Fai clic per espandere i tipi MIME

    • application/pdf
    • audio/mpeg
    • audio/mp3
    • audio/wav
    • image/png
    • image/jpeg
    • image/webp
    • text/plain
    • video/mov
    • video/mpeg
    • video/mp4
    • video/mpg
    • video/avi
    • video/wmv
    • video/mpegps
    • video/flv
  • TEXT: le istruzioni di testo da includere nel prompt. Ad esempio, What is in the video?

Per inviare la richiesta, scegli una di queste opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json. Esegui il comando seguente nel terminale per creare o sovrascrivere questo file nella directory corrente:

cat > request.json << 'EOF'
{
  "contents": {
    "role": "USER",
    "parts": [
      {
        "fileData": {
          "fileUri": "FILE_URI",
          "mimeType": "MIME_TYPE"
        }
      },
      {
        "text": "TEXT"
      }
    ]
  }
}
EOF

Quindi esegui il comando seguente per inviare la richiesta REST:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-3.1-flash-image:generateContent"

PowerShell

Salva il corpo della richiesta in un file denominato request.json. Esegui il comando seguente nel terminale per creare o sovrascrivere questo file nella directory corrente:

@'
{
  "contents": {
    "role": "USER",
    "parts": [
      {
        "fileData": {
          "fileUri": "FILE_URI",
          "mimeType": "MIME_TYPE"
        }
      },
      {
        "text": "TEXT"
      }
    ]
  }
}
'@  | Out-File -FilePath request.json -Encoding utf8

Quindi esegui il comando seguente per inviare la richiesta REST:

$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://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-3.1-flash-image:generateContent" | Select-Object -Expand Content
 
Nota quanto segue nell'URL per questo esempio:
  • Utilizza il generateContent metodo per richiedere che la risposta venga restituita dopo essere stata generata completamente. Per ridurre la percezione della latenza per un pubblico umano, trasmetti la risposta in streaming durante la generazione utilizzando il streamGenerateContent metodo.
  • L'ID del modello multimodale si trova alla fine dell'URL prima del metodo (ad esempio, gemini-3.5-flash). Questo esempio potrebbe supportare anche altri modelli.
  • Quando utilizzi un endpoint API regionale (ad esempio, us-central1), la regione dell'URL dell'endpoint determina dove viene elaborata la richiesta. Qualsiasi località in conflitto nel percorso della risorsa viene ignorata.

Passaggi successivi

Per saperne di più sulla generazione di immagini di Gemini, consulta i seguenti link: