1. Introduzione 👋

In questo codelab imparerai tutto ciò che devi sapere, in qualità di sviluppatore, sull'ecosistema Gemini. Più nello specifico, imparerai a conoscere diversi modelli Gemini, diversi strumenti basati su Gemini, l'SDK Google Gen AI per l'integrazione con Gemini. Esplorerai anche varie funzionalità di Gemini, come il contesto lungo, la modalità di pensiero, la comprensione spaziale, l'API Live, l'output audio e di immagini nativo e altro ancora.
Al termine di questo codelab, dovresti avere una solida conoscenza dell'ecosistema Gemini.
💡 Cosa imparerai
- Diversi modelli Gemini.
- Strumenti basati sui modelli Gemini.
- Come eseguire l'integrazione con Gemini utilizzando l'SDK Google Gen AI.
- Finestra contestuale lunga di Gemini.
- La modalità di pensiero di Gemini.
- Diversi strumenti integrati come la Ricerca Google e Google Maps.
- Come interagire con gli agenti di ricerca con l'API Interactions.
- Generazione di immagini e sintesi vocale.
- Comprensione spaziale di Gemini.
- API Live per interazioni vocali e video in tempo reale.
⚠️ Cosa ti serve
- Una chiave API per gli esempi di Google AI Studio.
- Un progetto Google Cloud con la fatturazione abilitata per gli esempi di Vertex AI.
- Il tuo ambiente di sviluppo locale o l'editor di Cloud Shell in Google Cloud.
2. La famiglia Gemini 🫂
Gemini è il modello di AI di Google che dà vita a qualsiasi idea. È un ottimo modello per la comprensione multimodale e il vibe coding agentico, il tutto basato su ragionamento all'avanguardia. Puoi guardare questo video per una rapida panoramica del modello Gemini:
Gemini non è solo un modello. È anche un brand ombrello utilizzato nei prodotti Google
che utilizzano il modello Gemini. Esiste uno spettro di prodotti Gemini, dall'app Gemini e NotebookLM incentrati sui consumatori, ad AI Studio incentrato sugli sviluppatori, fino a Vertex AI di Google Cloud incentrato sulle aziende. Esistono anche strumenti per sviluppatori come Gemini CLI e Google Antigravity basati su Gemini.

3. Strumenti basati su Gemini 🧰
Diamo un'occhiata rapida agli strumenti basati su Gemini.
App Gemini 💬
L'app Gemini ( gemini.google.com) è un'applicazione consumer basata sulla chat. È il modo più semplice per interagire con Gemini. Dispone di strumenti per Deep Research, generazione di immagini, video, musica e altro ancora. Inoltre, sono disponibili diverse versioni dell'ultimo modello Gemini (Fast, Thinking, Pro). L'app Gemini è perfetta per l'uso quotidiano.

NotebookLM 📓
NotebookLM ( notebooklm.google.com) è un assistente di ricerca basato sull'AI. Carica PDF, siti web, video di YouTube, file audio, Documenti Google, Presentazioni Google e altro ancora. NotebookLM creerà un riepilogo ed effettuerà interessanti associazioni tra gli argomenti, il tutto grazie alle funzionalità di comprensione multimodale dell'ultima versione di Gemini. Inoltre, genera overview audio, overview video, infografiche e altro ancora interessanti e coinvolgenti a partire dalle fonti che hai caricato.

Google AI Studio 🎨
Google AI Studio ( ai.dev) è il modo più rapido per iniziare a creare con Gemini. Il riquadro Playground in Google AI Studio ti consente di sperimentare diversi modelli per generare testo, immagini e video, nonché di provare la voce e il video in tempo reale con l'API Gemini Live. Il riquadro Build in Google AI Studio ti consente di codificare le applicazioni web e di eseguirne il deployment su Cloud Run su Google Cloud e di eseguire il push del codice su GitHub.

Vertex AI Studio ☁️
Vertex AI è una piattaforma di sviluppo AI unificata e completamente gestita per creare e utilizzare l'AI generativa in Google Cloud. Vertex AI Studio ( console.cloud.google.com/vertex-ai/studio) ti aiuta a testare, ottimizzare ed eseguire il deployment di applicazioni di AI generativa di livello enterprise.

Gemini CLI ⚙️
Gemini CLI ( geminicli.com) è un agente AI open source che porta la potenza di Gemini direttamente nel tuo terminale. È progettato per essere uno strumento basato sul terminale, estensibile e potente per sviluppatori, ingegneri, SRE e altri. Gemini CLI si integra con il tuo ambiente locale. Può leggere e modificare file, eseguire comandi shell e cercare sul web, il tutto mantenendo il contesto del progetto.

Google Antigravity 🚀
Google Antigravity ( antigravity.google) è una piattaforma di sviluppo agentica che fa evolvere l'IDE nell'era agent-first. Antigravity consente agli sviluppatori di operare a un livello più elevato e orientato alle attività di gestione degli agenti nei workspace, mantenendo al contempo un'esperienza IDE AI familiare.
Antigravity estrae gli agenti nella propria superficie e fornisce loro gli strumenti necessari per operare autonomamente nell'editor, nel terminale e nel browser, enfatizzando la verifica e la comunicazione di livello superiore tramite attività e artefatti. Questa funzionalità consente agli agenti di pianificare ed eseguire attività software end-to-end più complesse, migliorando tutti gli aspetti dello sviluppo, dalla creazione di funzionalità, all'iterazione dell'interfaccia utente e alla correzione di bug, fino alla ricerca e alla generazione di report.

Non esitare a scaricare e provare questi strumenti. Ecco alcune indicazioni generali su quale strumento utilizzare e quando:
- Se hai appena iniziato, probabilmente utilizzerai l'app Gemini per porre domande o generare codice di base.
- Se stai creando il vibe-coding di un'applicazione web, Google AI Studio è probabilmente lo strumento che sceglieresti.
- Se vuoi creare un'applicazione complessa con il contesto del tuo ambiente di sviluppo locale, scegli Gemini CLI o Google Antigravity.
- Se vuoi eseguire il deployment o utilizzi già Google Cloud e vuoi usufruire di assistenza e funzionalità di livello aziendale, Vertex AI e il relativo studio sono la scelta ideale.
Naturalmente, puoi combinare questi strumenti. Ad esempio, inizia con il vibe coding in AI Studio per eseguire il push su GitHub, poi utilizza Antigravity per continuare a scrivere codice e infine esegui il deployment su Google Cloud.
4. Modelli Gemini 🧠
I modelli Gemini migliorano costantemente con nuove versioni ogni pochi mesi. A partire da oggi (febbraio 2026), questi sono i modelli in evidenza su Vertex AI su Google Cloud:

Sono disponibili molti altri modelli Gemini disponibili a livello generale, modelli Gemini in anteprima, i modelli Gemma open source, i modelli di incorporamento, i modelli Imagegen, i modelli Veo e altro ancora.
Visita la pagina di documentazione Modelli Google per esplorare i principali modelli disponibili su Vertex AI per diversi casi d'uso.
5. SDK Google Gen AI 📦
Per integrare Gemini con la tua applicazione, puoi utilizzare l'SDK Google Gen AI.
Come abbiamo detto in precedenza, puoi accedere ai modelli Gemini tramite Google AI Studio o Vertex AI Studio. L'SDK Google Gen AI fornisce un'interfaccia unificata ai modelli Gemini tramite l'API Google AI e l'API Google Cloud. Con alcune eccezioni, il codice eseguito su una piattaforma verrà eseguito su entrambe.

L'SDK Google Gen AI attualmente supporta Python, Go, Node, Java e C#.
Ad esempio, ecco come parlare con Gemini in Google AI in Python:
client = genai.Client(
api_key=your-gemini-api-key)
response = client.models.generate_content(
model="gemini-3-flash-preview",
contents="Why is the sky blue?")
Per fare lo stesso con Gemini in Vertex AI, devi solo modificare l'inizializzazione del client e il resto è uguale:
client = genai.Client(
vertexai=True,
project=your-google-cloud-project,
location="us-central1")
response = client.models.generate_content(
model="gemini-3-flash-preview",
contents="Why is the sky blue?")
Per eseguire questi esempi, puoi eseguire main.py in github.com/meteatamel/genai-samples/tree/main/vertexai/gemini2/hello-world.
6. API Interactions 🔄
L'API Interactions (beta) è una nuova interfaccia unificata per interagire con i modelli e gli agenti Gemini. In quanto alternativa migliorata all'API generateContent, semplifica la gestione dello stato, l'orchestrazione degli strumenti e le attività di lunga durata.
Ecco come si svolge un'interazione di base con la nuova API:
interaction = client.interactions.create(
model="gemini-3-flash-preview",
input="Tell me a short joke."
)
print(interaction.outputs[-1].text)
Puoi avere una conversazione con stato passando l'ID interazione dell'interazione precedente:
interaction1 = client.interactions.create(
model="gemini-3-flash-preview",
input="Hi, my name is Phil."
)
print(f"Model: {interaction1.outputs[-1].text}")
interaction2 = client.interactions.create(
model="gemini-3-flash-preview",
input="What is my name?",
previous_interaction_id=interaction1.id
)
print(f"Model: {interaction2.outputs[-1].text}")
L'API Interactions è progettata per creare agenti e interagire con loro e include il supporto per la chiamata di funzioni, strumenti integrati, output strutturati e Model Context Protocol (MCP). Per scoprire come può essere utilizzato con l'agente Deep Research, consulta il passaggio Agenti 🤖 di seguito.
Per eseguire questi esempi, puoi eseguire main.py in github.com/meteatamel/genai-samples/blob/main/vertexai/interactions-api.
7. Finestra contestuale lunga 🪟
Molti modelli Gemini sono dotati di ampie finestre contestuali di 1 milione o più token. Storicamente, i modelli linguistici di grandi dimensioni (LLM) erano notevolmente limitati dalla quantità di testo (o token) che poteva essere trasmessa al modello contemporaneamente. La finestra contestuale lunga di Gemini apre le porte a molti nuovi casi d'uso e paradigmi per gli sviluppatori.

Per vedere la finestra contestuale lunga in azione, puoi andare alla Galleria dei prompt di Vertex AI Studio e scegliere il prompt Extract Video Chapters. Questo prompt raggruppa i contenuti del video in capitoli e fornisce un riepilogo per ciascun capitolo.
Dopo averlo eseguito con il video fornito, dovresti ottenere un output simile al seguente:
[
{
"timecode": "00:00",
"chapterSummary": "The video opens with scenic views of Rio de Janeiro, introducing the \"Marvelous City\" and its famous beaches like Ipanema and Copacabana, before pivoting to the existence of the favelas."
},
{
"timecode": "00:20",
"chapterSummary": "The narrator describes the favelas, home to one in five Rio residents, highlighting that while often associated with crime and poverty, this is only a small part of their story."
},
{
"timecode": "00:36",
"chapterSummary": "Google introduces its project to map the favelas, emphasizing that providing addresses to these uncharted areas is a crucial step in giving residents an identity."
},
{
"timecode": "00:43",
"chapterSummary": "The video concludes by focusing on the people of the favelas, inviting viewers to go beyond the map and explore their world through a 360-degree experience."
}
]
Ciò è possibile solo grazie alla finestra contestuale lunga di Gemini.
8. Modalità di pensiero 🧠
I modelli Gemini utilizzano un processo di pensiero interno che migliora significativamente il loro ragionamento per le attività complesse. I livelli di pensiero (Gemini 3) e i budget (Gemini 2.5) controllano il comportamento di pensiero. Puoi anche attivare il flag include_thoughts per visualizzare i pensieri grezzi del modello.
Per vedere la modalità di pensiero in azione, apriamo Google AI Studio ( ai.dev) e avviamo una nuova chat. Nel riquadro laterale a destra, puoi impostare il livello di pensiero:

Se fai clic sul pulsante Get code in alto a destra, puoi anche vedere come impostare il livello di pensiero nel codice, in modo simile a questo:
response = client.models.generate_content(
model="gemini-3-pro-preview",
contents="How does AI work?",
config=types.GenerateContentConfig(
thinking_config=types.ThinkingConfig(
thinking_level="low",
include_thoughts=True
)
),
)
Prova prompt e livelli di pensiero diversi per osservare il comportamento del modello.
9. Strumenti 🧰
Gemini è dotato di una serie di strumenti integrati come Ricerca Google, Google Maps, Esecuzione di codice, Utilizzo del computer, Ricerca file e altro ancora. Puoi anche definire i tuoi strumenti personalizzati con la chiamata di funzioni. Vediamo brevemente come utilizzarli.
Ricerca Google 🔎
Puoi basare le risposte del modello sui risultati della Ricerca Google per ottenere risposte più accurate, aggiornate e pertinenti.
In Vertex AI Studio ( console.cloud.google.com/vertex-ai/studio) o Google AI Studio ( ai.dev), puoi avviare una nuova chat e assicurarti che la base della Ricerca Google sia disattivata:

Poi, puoi fare una domanda sul meteo di oggi per la tua posizione. Ad esempio:
How's the weather in London today?
Di solito ricevi una risposta per un giorno nel passato perché il modello non ha accesso alle informazioni più recenti. Ad esempio:
In London today (Friday, May 24, 2025), the weather is a bit of a mixed bag, typical for late May.
Ora abilita il grounding della Ricerca Google e poni la stessa domanda. Dovresti ricevere informazioni meteo aggiornate con link alle fonti di riferimento:
In London today (Wednesday, February 11, 2026), the weather is cool and mostly cloudy with a chance of light rain.
Ecco come si presenta la base della Ricerca Google nel codice. Puoi anche fare clic sul pulsante Codice in Vertex AI Studio per ottenere un esempio di grounding:
google_search_tool = Tool(google_search=GoogleSearch())
response = client.models.generate_content(
model="gemini-3-flash-preview",
contents="How's the weather like today in London?",
config=GenerateContentConfig(tools=[google_search_tool])
)
Google Maps 🗺️
Puoi anche basare le risposte del modello su Google Maps, che ha accesso a informazioni su oltre 250 milioni di luoghi.
Per vederlo in azione, puoi scegliere Google Maps anziché la Ricerca Google nella sezione di grounding delle impostazioni del modello in Vertex AI Studio e porre una domanda che richieda dati di Maps, ad esempio:
Can you show me some Greek restaurants and their map coordinates near me?
Il codice è simile al seguente:
google_maps_tool = Tool(google_maps=GoogleMaps())
response = client.models.generate_content(
model="gemini-3-flash-preview",
contents=""What are the best restaurants near here?",
config=GenerateContentConfig(tools=[google_maps_tool]),
# Optional: Provide location context (this is in Los Angeles)
tool_config=ToolConfig(
retrieval_config=types.RetrievalConfig(
lat_lng=types.LatLng(
latitude=34.050481, longitude=-118.248526))),
)
Esecuzione di codice 🧑💻
Gemini può generare ed eseguire codice Python con un elenco di librerie supportate (pandas, numpy, PyPDF2 e così via). È utile per le applicazioni che traggono vantaggio dal ragionamento basato sul codice (ad es.la risoluzione di equazioni).
Per provare questa funzionalità, passa a Google AI Studio, avvia una nuova chat e assicurati che l'opzione Code execution sia attiva. Poi, poni una domanda in cui lo strumento di esecuzione del codice potrebbe essere utile. Ad esempio:
What is the sum of the first 50 prime numbers?
Gemini dovrebbe generare del codice Python ed eseguirlo. Alla fine, la risposta giusta è 5117.
Puoi eseguire lo strumento di esecuzione del codice dal codice nel seguente modo:
code_execution_tool = Tool(code_execution=ToolCodeExecution())
response = client.models.generate_content(
model="gemini-3-flash-preview",
contents="What is the sum of the first 50 prime numbers?",
config=GenerateContentConfig(
tools=[code_execution_tool],
temperature=0))
Uso del computer 🖥️
Il modello Gemini Computer Use (anteprima) ti consente di creare agenti di controllo del browser per automatizzare le attività. Funziona in questo ciclo:

Per vederlo in azione, puoi eseguire main.py in github.com/google-gemini/computer-use-preview.
Ad esempio, puoi ottenere la chiave API da Google AI Studio e chiedere a Gemini di cercare voli per te:
export GEMINI_API_KEY=your-api-key
python main.py --query "Find me top 5 fights sorted by price with the following constraints:
Flight site to use: www.google.com/travel/flights
From: London
To: Larnaca
One-way or roundtrip: One way
Date to leave: Sometime next week
Date to return: N/A
Travel preferences:
-Direct flights
-No flights before 10am
-Carry-on luggage"
Dovresti vedere Gemini aprire un browser in incognito e iniziare a cercare voli per te.
Ricerca file 📁
Lo strumento di ricerca dei file consente una Retrieval Augmented Generation (RAG) semplice. Ti basta caricare i file e lo strumento si occupa di tutti i dettagli della RAG relativi a suddivisione, incorporamento e recupero.
Per vederlo in azione, puoi eseguire main.py in github.com/meteatamel/genai-beyond-basics/blob/main/samples/grounding/file-search-tool.
Ottieni la chiave API da Google AI Studio e crea un archivio di ricerca di file:
export GEMINI_API_KEY=your-gemini-api-key
python main.py create_store my-file-search-store
Carica un PDF nello store:
python main.py upload_to_store fileSearchStores/myfilesearchstore-5a9x71ifjge9 cymbal-starlight-2024.pdf
Fai una domanda sul PDF che rimanda allo store:
python main.py generate_content "What's the cargo capacity of Cymbal Starlight?" fileSearchStores/myfilesearchstore-5a9x71ifjge9
Dovresti ricevere una risposta basata sul PDF:
Generating content with file search store: fileSearchStores/myfilesearchstore-5a9x71ifjge9
Response: The Cymbal Starlight 2024 has a cargo capacity of 13.5 cubic feet, which is located in the trunk of the vehicle. It is important to distribute the weight evenly and not overload the trunk, as this could impact the vehicle's handling and stability. The vehicle can also accommodate up to two suitcases in the trunk, and it is recommended to use soft-sided luggage to maximize space and cargo straps to secure it while driving.
Grounding sources: cymbal-starlight-2024.pdf
Chiamata di funzione 📲
Se gli strumenti integrati non sono sufficienti, puoi anche definire i tuoi strumenti (funzioni) in Gemini. Ti basta inviare una funzione Python come strumento (anziché inviare una specifica OpenAPI dettagliata della funzione). Viene utilizzato automaticamente come strumento dal modello e dall'SDK.
Ad esempio, puoi avere una funzione per restituire la latitudine e la longitudine di una posizione:
def location_to_lat_long(location: str):
"""Given a location, returns the latitude and longitude
Args:
location: The location for which to get the weather.
Returns:
The latitude and longitude information in JSON.
"""
logger.info(f"Calling location_to_lat_long({location})")
url = f"https://geocoding-api.open-meteo.com/v1/search?name={location}&count=1"
return api_request(url)
Puoi anche avere una funzione per restituire le informazioni meteo da una latitudine e una longitudine:
def lat_long_to_weather(latitude: str, longitude: str):
"""Given a latitude and longitude, returns the weather information
Args:
latitude: The latitude of a location
longitude: The longitude of a location
Returns:
The weather information for the location in JSON.
"""
logger.info(f"Calling lat_long_to_weather({latitude}, {longitude})")
url = (f"https://api.open-meteo.com/v1/forecast?latitude={latitude}&longitude={longitude}¤t=temperature_2m,"
f"relative_humidity_2m,surface_pressure,wind_speed_10m,wind_direction_10m&forecast_days=1")
return api_request(url)
Ora puoi passare queste due funzioni come strumenti a Gemini e consentirgli di utilizzarle per recuperare le informazioni meteo per una località:
def generate_content_with_function_calls():
client = genai.Client(
vertexai=True,
project=PROJECT_ID,
location=LOCATION)
response = client.models.generate_content(
model=MODEL_ID,
contents=PROMPT,
config=GenerateContentConfig(
system_instruction=[
"You are a helpful weather assistant.",
"Your mission is to provide weather information for different cities."
"Make sure your responses are in plain text format (no markdown) and include all the cities asked.",
],
tools=[location_to_lat_long, lat_long_to_weather],
temperature=0),
)
print(response.text)
#print(response.automatic_function_calling_history)
Per vederlo in azione, puoi eseguire main_genaisdk.py in github.com/meteatamel/genai-beyond-basics/blob/main/samples/function-calling/weather.
10. Agenti 🤖
L'API Interactions di Gemini è progettata per creare e interagire con gli agenti. Puoi utilizzare agenti specializzati come Gemini Deep Research Agent. L'agente Gemini Deep Research pianifica, esegue e sintetizza in modo autonomo attività di ricerca in più passaggi. Esplora paesaggi informativi complessi utilizzando la ricerca web e i tuoi dati per produrre report dettagliati e citati.
Ecco come utilizzare l'agente Deep Research con l'API Interaction:
interaction = client.interactions.create(
input="Research the history of the Google TPUs.",
agent="deep-research-pro-preview-12-2025",
background=True
)
while True:
if interaction.status == "completed":
print("\nFinal Report:\n",
interaction.outputs[-1].text)
break
Per eseguire questo esempio, puoi eseguire main.py in github.com/meteatamel/genai-samples/blob/main/vertexai/interactions-api.
export GOOGLE_API_KEY=your-api-key
python main.py agent
Dopo un po' dovresti vedere la ricerca effettuata:
User: Research the history of the Google TPUs with a focus on 2025 and 2026
Status: in_progress
Status: in_progress
Status: in_progress
...
Model Final Report:
# Architectural Convergence and Commercial Expansion: The History of Google TPUs (2015–2026)
## Key Findings
* **Strategic Pivot (2025):** Google transitioned the Tensor Processing Unit (TPU) from a primarily internal differentiator to a commercial merchant-silicon competitor, epitomized by the massive "Ironwood" (TPU v7) deployment and external sales strategy.
* **Technological Leap:** The introduction of TPU v7 "Ironwood" in 2025 marked a paradigm shift, utilizing 3nm process technology to deliver 42.5 exaFLOPS per pod, directly challenging NVIDIA's Blackwell architecture in the high-performance computing (HPC) sector.
...
11. Generazione di immagini 📷
Nano Banana 🍌 è il nome delle funzionalità di generazione di immagini native di Gemini. Gemini può generare ed elaborare immagini in modo conversazionale con testo, immagini o una combinazione di entrambi. In questo modo, puoi creare, modificare e perfezionare le immagini con un controllo senza precedenti.
Nano Banana si riferisce a due modelli distinti disponibili nell'API Gemini:
- Nano Banana: il modello Gemini 2.5 Flash Image (
gemini-2.5-flash-image). Questo modello è progettato per velocità ed efficienza, ottimizzato per attività a basso volume e bassa latenza. - Nano Banana Pro: il modello di anteprima delle immagini di Gemini 3 Pro (
gemini-3-pro-image-preview). Questo modello è progettato per la produzione di asset professionali, utilizzando un ragionamento avanzato per seguire istruzioni complesse e riprodurre testo ad alta fedeltà.
Ecco un frammento di codice in cui puoi passare un'immagine esistente e chiedere a Nano Banana di modificarla:
from google import genai
from google.genai import types
from PIL import Image
client = genai.Client()
prompt = (
"Create a picture of my cat eating a nano-banana in a "
"fancy restaurant under the Gemini constellation",
)
image = Image.open("/path/to/cat_image.png")
response = client.models.generate_content(
model="gemini-2.5-flash-image",
contents=[prompt, image],
)
for part in response.parts:
if part.text is not None:
print(part.text)
elif part.inline_data is not None:
image = part.as_image()
image.save("generated_image.png")
Nano Banana è disponibile nell'app Gemini, in AI Studio o in Vertex AI Studio. Il modo più semplice per provarlo è nell'app Gemini. Nell'app Gemini ( gemini.google.com), seleziona 🍌 Create images in Tools. Poi, carica un'immagine e prova qualcosa di divertente. Ad esempio, puoi dire:
Can you transform this picture of mine to a nice beach on a tropical island?

12. Generazione di Text-to-Speech 🎶
Gemini può trasformare l'input di testo in audio con una o più voci utilizzando le funzionalità di generazione di sintesi vocale (TTS) di Gemini. La generazione di TTS è controllabile, il che significa che puoi utilizzare il linguaggio naturale per strutturare le interazioni e guidare lo stile, l'accento, il ritmo e il tono dell'audio.
Esistono due modelli che supportano la sintesi vocale:
La funzionalità TTS è diversa dalla generazione vocale fornita tramite l'API Live, progettata per audio interattivi e non strutturati e input e output multimodali. Mentre l'API Live eccelle in contesti conversazionali dinamici, la sintesi vocale tramite l'API Gemini è pensata per scenari che richiedono una recitazione esatta del testo con un controllo granulare su stile e suono, come la generazione di podcast o audiolibri.
Ecco uno snippet di codice per la sintesi vocale con una sola persona:
from google import genai
from google.genai import types
import wave
# Set up the wave file to save the output:
def wave_file(filename, pcm, channels=1, rate=24000, sample_width=2):
with wave.open(filename, "wb") as wf:
wf.setnchannels(channels)
wf.setsampwidth(sample_width)
wf.setframerate(rate)
wf.writeframes(pcm)
client = genai.Client()
response = client.models.generate_content(
model="gemini-2.5-flash-preview-tts",
contents="Say cheerfully: Have a wonderful day!",
config=types.GenerateContentConfig(
response_modalities=["AUDIO"],
speech_config=types.SpeechConfig(
voice_config=types.VoiceConfig(
prebuilt_voice_config=types.PrebuiltVoiceConfig(
voice_name='Kore',
)
)
),
)
)
data = response.candidates[0].content.parts[0].inline_data.data
file_name='out.wav'
wave_file(file_name, data) # Saves the file to current directory
Puoi trovare altri esempi nella documentazione sulla sintesi vocale (TTS).
Puoi anche provare a generare un discorso nel playground di Google AI Studio. Prova con prompt diversi nell'app generate-speech:

13. Spatial Understanding 🌐
Gemini è dotato di rilevamento di oggetti e comprensione spaziale avanzati.
Il modo più semplice per comprenderlo è vederlo in azione. Vai all'app iniziale per la comprensione spaziale in AI Studio. Scegli alcune immagini e prova a rilevare alcuni elementi nell'immagine con Gemini.
Ad esempio, puoi rilevare "ombre" o "frutti" in immagini diverse:

Prova con immagini diverse e scopri con quale precisione Gemini rileva ed etichetta i vari oggetti.
14. API Live 🎤
L'API Live consente interazioni vocali e video in tempo reale a bassa latenza con Gemini. Elabora flussi continui di audio, video o testo per fornire risposte immediate e simili a quelle umane, creando un'esperienza conversazionale naturale per gli utenti.

Prova l'API live in Google AI Studio o l'API live in Vertex AI Studio. In entrambe le app, puoi condividere la tua voce, il tuo video e il tuo schermo e avere una conversazione in tempo reale con Gemini.

Inizia a condividere il video o lo schermo e chiedi a Gemini informazioni generali tramite la voce. Ad esempio:
Can you describe what you see on the screen?
Rimarrai stupito dalla naturalezza delle risposte di Gemini.
15. Conclusione
In questo codelab abbiamo trattato l'ecosistema Gemini, a partire dalla famiglia di prodotti Gemini e imparando a integrare i modelli nelle nostre applicazioni utilizzando l'SDK Google Gen AI unificato. Abbiamo esplorato le funzionalità all'avanguardia di Gemini, tra cui la finestra contestuale lunga, la modalità di pensiero, gli strumenti di grounding integrati, l'API Live e la comprensione spaziale. Ti invitiamo ad approfondire la documentazione di riferimento e a continuare a sperimentare tutto il potenziale di Gemini.