Skip to main content
Google Gemini è un sistema di conversazione AI molto potente, in grado di generare risposte fluide e naturali in pochi secondi tramite l’inserimento di prompt. Questo documento descrive principalmente come utilizzare l’API Gemini Generate Content, che è il formato API nativo ufficiale di Google e supporta due endpoint: generateContent e streamGenerateContent.

Differenze rispetto alla Chat Completions API

L’API Gemini Generate Content utilizza il formato di richiesta nativo ufficiale di Google (campo contents), anziché il formato compatibile con OpenAI (campo messages). Se stai già utilizzando Google Gemini SDK o conosci il formato API ufficiale, puoi utilizzare direttamente questa API senza modificare il formato della richiesta.

Ambito di supporto attuale

L’interfaccia accetta input di testo, immagini, video e audio (inlineData o fileData), configurazioni di ragionamento e dichiarazioni di funzioni personalizzate. Non è ancora garantita una disponibilità uniforme per campi nativi quali output audio, strumenti integrati e cache di contesto esplicita; fai riferimento ai risultati effettivi restituiti dal modello specifico. Quando invii file quali audio tramite fileData.fileUri, assicurati che i file siano direttamente accessibili tramite HTTPS, non dipendano dallo stato di accesso e che il periodo di validità del link firmato copra l’intero tempo di elaborazione della richiesta. L’analisi audio non in streaming restituisce risultati solo dopo che il modello ha completato l’elaborazione e potrebbe richiedere più di 90 secondi; il client dovrebbe impostare un timeout totale sufficientemente lungo in base alle dimensioni del file e allo scenario aziendale, evitando di disconnettersi mentre il server sta ancora elaborando.

Procedura di richiesta

Prima di utilizzare l’API Gemini Generate Content, visita la pagina Gemini Generate Content API e fai clic sul pulsante “Ottieni” per ottenere le credenziali necessarie per la richiesta. Se non hai ancora effettuato l’accesso o la registrazione, verrai automaticamente reindirizzato alla pagina di accesso. La prima richiesta include una quota gratuita.

Utilizzo di base

Non-Streaming (non in streaming)

Invia una richiesta POST a /v1beta/models/{model}:generateContent:
Suggerimento: i modelli flash della serie gemini-3.x sono modelli di ragionamento e consumano prima reasoning tokens; imposta generationConfig.maxOutputTokens a più di 512, altrimenti potrebbe essere restituito solo contenuto vuoto.
Esempio di risultato restituito:
I campi token in usageMetadata vengono fatturati secondo la semantica nativa di Gemini:
  • promptTokenCount include cachedContentTokenCount; la parte raggiunta dalla cache viene calcolata al prezzo di lettura della cache e non viene conteggiata nuovamente come input ordinario.
  • promptTokensDetails e cacheTokensDetails saranno normalizzati in text_tokens, image_tokens, video_tokens, audio_tokens e nei corrispondenti dettagli cached_* sotto usage.prompt_tokens_details. Questi valori sono inclusi rispettivamente in prompt_tokens e cached_tokens; le diverse modalità vengono ricalcolate solo secondo i rispettivi prezzi, senza doppia fatturazione.
  • candidatesTokenCount e thoughtsTokenCount vengono entrambi calcolati al prezzo dei token di output.
  • toolUsePromptTokenCount è un token di input per strumenti indipendente, calcolato al prezzo dei token di input.
Ace Data Cloud restituisce inoltre un oggetto usage normalizzato; tra i protocolli dei modelli, il costo di questa chiamata viene letto uniformemente da usage.cost. cost è un’anteprima facoltativa del costo; quando l’anteprima del prezzo non è temporaneamente disponibile, la risposta del modello verrà comunque restituita normalmente, ma potrebbe non contenere questo campo. La fattura finale fa fede ai record di utilizzo.

Streaming (in streaming)

Invia una richiesta POST a /v1beta/models/{model}:streamGenerateContent?alt=sse:
La risposta in streaming restituirà gradualmente il contenuto nel formato SSE (Server-Sent Events). Gli eventi intermedi normalmente contengono solo contenuto incrementale; l’evento finale contenente l’utilizzo autorevole includerà usageMetadata e il usage normalizzato, mentre il costo resterà in usage.cost:
La chiusura della connessione indica la fine del flusso; il flusso Gemini nativo non invia data: [DONE]. Se l’anteprima del prezzo finale non è temporaneamente disponibile, usage restituirà comunque l’utilizzo dei token, ma ometterà cost.

Modelli supportati

Funzionalità avanzate

Istruzioni di sistema

Configurazione della generazione

Modalità JSON

Modalità di ragionamento (Thinking)

I modelli che supportano la funzionalità di ragionamento (come gemini-2.5-flash e gemini-2.5-pro) possono abilitare la modalità di ragionamento:

Chiamata di funzione

Conversazione multi-turno

Comprensione delle immagini

Impostazioni di sicurezza

Il filtraggio dei contenuti può essere controllato tramite safetySettings:

Gestione degli errori