Compréhension audio (parole uniquement)

Vous pouvez ajouter de l'audio aux requêtes Gemini pour effectuer des tâches qui impliquent de comprendre le contenu de l'audio inclus. Cette page explique comment ajouter de l'audio à vos requêtes Gemini dans Vertex AI à l'aide de la consoleGoogle Cloud et de l'API Vertex AI.

Modèles compatibles

Le tableau suivant présente les modèles compatibles avec la compréhension audio :

Modèle Informations sur les contenus multimédias Types MIME
Gemini 2.5 Flash (preview)
  • Durée audio maximale par requête : environ 8, 4 heures ou jusqu'à un million de jetons
  • Nombre maximal de fichiers audio par requête : 1
  • Compréhension de la parole pour : résumé audio, transcription et traduction
  • audio/x-aac
  • audio/flac
  • audio/mp3
  • audio/m4a
  • audio/mpeg
  • audio/mpga
  • audio/mp4
  • audio/ogg
  • audio/pcm
  • audio/wav
  • audio/webm
Gemini 2.5 Flash-Lite (preview)
  • Durée audio maximale par requête : environ 8, 4 heures ou jusqu'à un million de jetons
  • Nombre maximal de fichiers audio par requête : 1
  • audio/x-aac
  • audio/flac
  • audio/mp3
  • audio/m4a
  • audio/mpeg
  • audio/mpga
  • audio/mp4
  • audio/ogg
  • audio/pcm
  • audio/wav
  • audio/webm
Gemini 2.5 Flash-Lite
  • Durée audio maximale par requête : environ 8, 4 heures ou jusqu'à un million de jetons
  • Nombre maximal de fichiers audio par requête : 1
  • audio/x-aac
  • audio/flac
  • audio/mp3
  • audio/m4a
  • audio/mpeg
  • audio/mpga
  • audio/mp4
  • audio/ogg
  • audio/pcm
  • audio/wav
  • audio/webm
Gemini 2.5 Flash avec l'audio natif de l'API Live (Preview)
  • Durée maximale de la conversation : 10 minutes par défaut, extensibles.
  • Format audio d'entrée requis : Audio PCM 16 bits brut à 16 kHz, little-endian
  • Format audio de sortie requis : Audio PCM 16 bits brut à 24 kHz, little-endian
  • audio/x-aac
  • audio/flac
  • audio/mp3
  • audio/m4a
  • audio/mpeg
  • audio/mpga
  • audio/mp4
  • audio/ogg
  • audio/pcm
  • audio/wav
  • audio/webm
Gemini 2.0 Flash avec l'API Live (preview)
  • Durée audio maximale par requête : environ 8, 4 heures ou jusqu'à un million de jetons
  • Nombre maximal de fichiers audio par requête : 1
  • Compréhension de la parole pour : résumé audio, transcription et traduction
  • Nombre maximal de jetons par minute (TPM) :
    • États-Unis/Asie : 1,7 M
    • UE : 0,4 M
  • audio/x-aac
  • audio/flac
  • audio/mp3
  • audio/m4a
  • audio/mpeg
  • audio/mpga
  • audio/mp4
  • audio/ogg
  • audio/pcm
  • audio/wav
  • audio/webm
Gemini 2.0 Flash avec génération d'images (Aperçu)
  • Durée audio maximale par requête : environ 8, 4 heures ou jusqu'à un million de jetons
  • Nombre maximal de fichiers audio par requête : 1
  • Compréhension de la parole pour : résumé audio, transcription et traduction
  • Nombre maximal de jetons par minute (TPM) :
    • États-Unis/Asie : 1,7 M
    • UE : 0,4 M
Gemini 2.5 Pro
  • Durée audio maximale par requête : environ 8, 4 heures ou jusqu'à un million de jetons
  • Nombre maximal de fichiers audio par requête : 1
  • Compréhension de la parole pour : résumé audio, transcription et traduction
  • audio/x-aac
  • audio/flac
  • audio/mp3
  • audio/m4a
  • audio/mpeg
  • audio/mpga
  • audio/mp4
  • audio/ogg
  • audio/pcm
  • audio/wav
  • audio/webm
Gemini 2.5 Flash
  • Durée audio maximale par requête : environ 8, 4 heures ou jusqu'à un million de jetons
  • Nombre maximal de fichiers audio par requête : 1
  • Compréhension de la parole pour : résumé audio, transcription et traduction
  • audio/x-aac
  • audio/flac
  • audio/mp3
  • audio/m4a
  • audio/mpeg
  • audio/mpga
  • audio/mp4
  • audio/ogg
  • audio/pcm
  • audio/wav
  • audio/webm
Gemini 2.0 Flash
  • Durée audio maximale par requête : environ 8, 4 heures ou jusqu'à un million de jetons
  • Nombre maximal de fichiers audio par requête : 1
  • Compréhension de la parole pour : résumé audio, transcription et traduction
  • Nombre maximal de jetons par minute (TPM) :
    • États-Unis/Asie : 3,5 M
    • UE : 3,5 M
  • audio/x-aac
  • audio/flac
  • audio/mp3
  • audio/m4a
  • audio/mpeg
  • audio/mpga
  • audio/mp4
  • audio/ogg
  • audio/pcm
  • audio/wav
  • audio/webm
Gemini 2.0 Flash-Lite
  • Durée audio maximale par requête : environ 8, 4 heures ou jusqu'à un million de jetons
  • Nombre maximal de fichiers audio par requête : 1
  • Compréhension de la parole pour : résumé audio, transcription et traduction
  • Nombre maximal de jetons par minute (TPM) :
    • États-Unis/Asie : 3,5 M
    • UE : 3,5 M

La métrique de quota est generate_content_audio_input_per_base_model_id_and_resolution.

Pour obtenir la liste des langues compatibles avec les modèles Gemini, consultez les informations sur les modèles en accédant à Modèles Google. Pour en savoir plus sur la conception de requêtes multimodales, consultez Concevoir des requêtes multimodales. Si vous souhaitez utiliser Gemini directement à partir de vos applications mobiles et Web, consultez les SDK client Firebase AI Logic pour les applications Swift, Android, Web, Flutter et Unity.

Ajouter du contenu audio à une requête

Vous pouvez ajouter des fichiers audio dans vos requêtes à Gemini.

Audio unique

Vous trouverez ci-dessous la procédure à suivre pour résumer un podcast à l'aide d'un fichier audio.

Console

Pour envoyer une requête multimodale à l'aide de la console Google Cloud , procédez comme suit :

  1. Dans la section "Vertex AI" de la console Google Cloud , accédez à la page Vertex AI Studio.

    Accéder à Vertex AI Studio

  2. Cliquez sur Créer une requête.

  3. (Facultatif) Configurez le modèle et les paramètres :

    • Modèle : sélectionnez un modèle.
  4. (Facultatif) Pour configurer des paramètres avancés, cliquez sur Avancé, puis configurez les paramètres comme suit :

    Cliquez pour développer les configurations avancées.

    • Top-K : utilisez le curseur ou la zone de texte pour saisir une valeur.

      Le top-K modifie la façon dont le modèle sélectionne les jetons pour la sortie. Une valeur top-K de 1 signifie que le prochain jeton sélectionné est le plus probable parmi tous les jetons du vocabulaire du modèle (également appelé décodage glouton), tandis qu'une valeur top-K de 3 signifie que le jeton suivant est sélectionné parmi les trois jetons les plus probables en utilisant la température.

      Pour chaque étape de sélection du jeton, les jetons top-K avec les probabilités les plus élevées sont échantillonnés. Les jetons sont ensuite filtrés en fonction du top-P avec le jeton final sélectionné à l'aide de l'échantillonnage de température.

      Spécifiez une valeur inférieure pour obtenir des réponses moins aléatoires et une valeur supérieure pour des réponses plus aléatoires.

    • Top-P : utilisez le curseur ou la zone de texte pour saisir une valeur. Les jetons sont sélectionnés du plus probable au moins probable, jusqu'à ce que la somme de leurs probabilités soit égale à la valeur du top-P. Pour obtenir les résultats les moins variables, définissez "Top-P" sur 0.
    • Nombre maximal de réponses : utilisez le curseur ou la zone de texte pour saisir le nombre de réponses à générer.
    • Réponses en streaming : permet d'imprimer les réponses au fur et à mesure de leur génération.
    • Seuil de filtre de sécurité : sélectionnez le seuil de la probabilité que des réponses potentiellement nuisibles s'affichent.
    • Activer l'ancrage : l'ancrage n'est pas compatible avec les requêtes multimodales.
    • Région : sélectionnez la région que vous souhaitez utiliser.
    • Température : utilisez le curseur ou la zone de texte pour saisir une valeur de température.

          
      The temperature is used for sampling during response generation, which occurs when topP
      and topK are applied. Temperature controls the degree of randomness in token selection.
      Lower temperatures are good for prompts that require a less open-ended or creative response, while
      higher temperatures can lead to more diverse or creative results. A temperature of 0
      means that the highest probability tokens are always selected. In this case, responses for a given
      prompt are mostly deterministic, but a small amount of variation is still possible.
      
      

      If the model returns a response that's too generic, too short, or the model gives a fallback response, try increasing the temperature.

      </li> <li>**Output token limit**: Use the slider or textbox to enter a value for the max output limit. Maximum number of tokens that can be generated in the response. A token is approximately four characters. 100 tokens correspond to roughly 60-80 words.

      Specify a lower value for shorter responses and a higher value for potentially longer responses.

      </li> <li>**Add stop sequence**: Optional. Enter a stop sequence, which is a series of characters that includes spaces. If the model encounters a stop sequence, the response generation stops. The stop sequence isn't included in the response, and you can add up to five stop sequences.</li> </ul>

  5. Cliquez sur Insérer un média, puis sélectionnez une source pour votre fichier.

    Importer

    Sélectionnez le fichier que vous souhaitez importer, puis cliquez sur Ouvrir.

    À partir d'une URL

    Saisissez l'URL du fichier que vous souhaitez utiliser, puis cliquez sur Insérer.

    Cloud Storage

    Sélectionnez le bucket, puis le fichier que vous souhaitez importer, et cliquez sur Sélectionner.

    Google Drive

    1. Choisissez un compte et autorisez Vertex AI Studio à y accéder la première fois que vous sélectionnez cette option. Vous pouvez importer plusieurs fichiers, à condition de ne pas dépasser une taille totale de 10 Mo. La taille d'un seul fichier ne peut pas dépasser 7 Mo.
    2. Cliquez sur le fichier que vous souhaitez ajouter.
    3. Cliquez sur Sélectionner.

      La vignette du fichier s'affiche dans le volet Requête. Le nombre total de jetons est également indiqué. Si les données de votre requête dépassent la limite de jetons, les jetons sont tronqués et ne sont pas inclus dans le traitement de vos données.

  6. Saisissez votre requête textuelle dans le volet Requête.

  7. (Facultatif) Pour afficher les ID de jeton Texte et les ID de jeton, cliquez sur le nombre de jetons dans le volet Requête.

  8. Cliquez sur Envoyer.

  9. (Facultatif) Pour enregistrer votre requête dans Mes requêtes, cliquez sur  Enregistrer.

  10. (Facultatif) pour obtenir le code Python ou la commande curl de votre requête, cliquez sur  Compiler avec du code > Obtenir le code.

Python

Installation

pip install --upgrade google-genai

Pour en savoir plus, consultez la documentation de référence du SDK.

Définissez des variables d'environnement pour utiliser le SDK Gen AI avec 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_VERTEXAI=True

from google import genai
from google.genai.types import HttpOptions, Part

client = genai.Client(http_options=HttpOptions(api_version="v1"))
prompt = """
Provide a concise summary of the main points in the audio file.
"""
response = client.models.generate_content(
    model="gemini-2.5-flash",
    contents=[
        prompt,
        Part.from_uri(
            file_uri="gs://cloud-samples-data/generative-ai/audio/pixel.mp3",
            mime_type="audio/mpeg",
        ),
    ],
)
print(response.text)
# Example response:
# Here's a summary of the main points from the audio file:

# The Made by Google podcast discusses the Pixel feature drops with product managers Aisha Sheriff and De Carlos Love.  The key idea is that devices should improve over time, with a connected experience across phones, watches, earbuds, and tablets.

Go

Découvrez comment installer ou mettre à jour le Go.

Pour en savoir plus, lisez la documentation de référence du SDK.

Définissez des variables d'environnement pour utiliser le SDK Gen AI avec 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_VERTEXAI=True

import (
	"context"
	"fmt"
	"io"

	genai "google.golang.org/genai"
)

// generateWithAudio shows how to generate text using an audio input.
func generateWithAudio(w io.Writer) error {
	ctx := context.Background()

	client, err := genai.NewClient(ctx, &genai.ClientConfig{
		HTTPOptions: genai.HTTPOptions{APIVersion: "v1"},
	})
	if err != nil {
		return fmt.Errorf("failed to create genai client: %w", err)
	}

	modelName := "gemini-2.5-flash"
	contents := []*genai.Content{
		{Parts: []*genai.Part{
			{Text: `Provide the summary of the audio file.
Summarize the main points of the audio concisely.
Create a chapter breakdown with timestamps for key sections or topics discussed.`},
			{FileData: &genai.FileData{
				FileURI:  "gs://cloud-samples-data/generative-ai/audio/pixel.mp3",
				MIMEType: "audio/mpeg",
			}},
		},
			Role: "user"},
	}

	resp, err := client.Models.GenerateContent(ctx, modelName, contents, nil)
	if err != nil {
		return fmt.Errorf("failed to generate content: %w", err)
	}

	respText := resp.Text()

	fmt.Fprintln(w, respText)

	// Example response:
	// Here is a summary and chapter breakdown of the audio file:
	//
	// **Summary:**
	//
	// The audio file is a "Made by Google" podcast episode discussing the Pixel Feature Drops, ...
	//
	// **Chapter Breakdown:**
	//
	// *   **0:00 - 0:54:** Introduction to the podcast and guests, Aisha Sharif and DeCarlos Love.
	// ...

	return nil
}

Node.js

Installer

npm install @google/genai

Pour en savoir plus, consultez la documentation de référence du SDK.

Définissez des variables d'environnement pour utiliser le SDK Gen AI avec 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_VERTEXAI=True

const {GoogleGenAI} = require('@google/genai');

const GOOGLE_CLOUD_PROJECT = process.env.GOOGLE_CLOUD_PROJECT;
const GOOGLE_CLOUD_LOCATION = process.env.GOOGLE_CLOUD_LOCATION || 'global';

async function generateText(
  projectId = GOOGLE_CLOUD_PROJECT,
  location = GOOGLE_CLOUD_LOCATION
) {
  const client = new GoogleGenAI({
    vertexai: true,
    project: projectId,
    location: location,
  });

  const prompt =
    'Provide a concise summary of the main points in the audio file.';

  const response = await client.models.generateContent({
    model: 'gemini-2.5-flash',
    contents: [
      {
        fileData: {
          fileUri: 'gs://cloud-samples-data/generative-ai/audio/pixel.mp3',
          mimeType: 'audio/mpeg',
        },
      },
      {text: prompt},
    ],
  });

  console.log(response.text);

  // Example response:
  //  Here's a summary of the main points from the audio file:
  //  The Made by Google podcast discusses the Pixel feature drops with product managers Aisha Sheriff and De Carlos Love.  The key idea is that devices should improve over time, with a connected experience across phones, watches, earbuds, and tablets.

  return response.text;
}

Java

Découvrez comment installer ou mettre à jour le Java.

Pour en savoir plus, lisez la documentation de référence du SDK.

Définissez des variables d'environnement pour utiliser le SDK Gen AI avec 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_VERTEXAI=True


import com.google.genai.Client;
import com.google.genai.types.Content;
import com.google.genai.types.GenerateContentResponse;
import com.google.genai.types.HttpOptions;
import com.google.genai.types.Part;

public class TextGenerationWithGcsAudio {

  public static void main(String[] args) {
    // TODO(developer): Replace these variables before running the sample.
    String modelId = "gemini-2.5-flash";
    generateContent(modelId);
  }

  // Generates text with audio input
  public static String generateContent(String modelId) {
    // Client Initialization. Once created, it can be reused for multiple requests.
    try (Client client =
        Client.builder()
            .location("global")
            .vertexAI(true)
            .httpOptions(HttpOptions.builder().apiVersion("v1").build())
            .build()) {

      GenerateContentResponse response =
          client.models.generateContent(
              modelId,
              Content.fromParts(
                  Part.fromUri(
                      "gs://cloud-samples-data/generative-ai/audio/pixel.mp3", "audio/mpeg"),
                  Part.fromText("Provide a concise summary of the main points in the audio file.")),
              null);

      System.out.print(response.text());
      // Example response:
      // The audio features Google product managers Aisha Sharif and D. Carlos Love discussing Pixel
      // Feature Drops, emphasizing their role in continually enhancing devices across the entire
      // Pixel ecosystem...
      return response.text();
    }
  }
}

REST

Une fois que vous avez configuré votre environnement, vous pouvez utiliser REST pour tester un prompt textuel. L'exemple suivant envoie une requête au point de terminaison du modèle de l'éditeur.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet.
  • FILE_URI : URI ou URL du fichier à inclure dans la requête. Les valeurs acceptées incluent les suivantes :
    • URI du bucket Cloud Storage : l'objet doit être lisible publiquement ou se trouver dans le même projet Google Cloud que celui qui envoie la requête. La taille limite pour gemini-2.0-flash et gemini-2.0-flash-lite est de 2 Go.
    • URL HTTP : l'URL du fichier doit être lisible publiquement. Vous pouvez spécifier un fichier vidéo, un fichier audio et jusqu'à 10 fichiers image par requête. Les fichiers audio, les fichiers vidéo et les documents ne doivent pas dépasser 15 Mo.
    • URL de la vidéo YouTube : la vidéo YouTube doit appartenir au compte que vous avez utilisé pour vous connecter à la console Google Cloud ou être publique. Une seule URL de vidéo YouTube est acceptée par requête.

    Lorsque vous spécifiez un fileURI, vous devez également indiquer le type de contenu multimédia (mimeType) du fichier. Si VPC Service Controls est activé, la spécification d'une URL de fichier multimédia pour fileURI n'est pas acceptée.

    Si vous ne disposez pas de fichier audio dans Cloud Storage, vous pouvez utiliser le fichier suivant, disponible publiquement : gs://cloud-samples-data/generative-ai/audio/pixel.mp3 (type MIME : audio/mp3). Pour écouter cet audio, ouvrez l'exemple de fichier MP3.

  • MIME_TYPE : type de contenu du fichier spécifié dans les champs data ou fileUri. Les valeurs acceptées incluent les suivantes :

    Cliquez pour développer les types 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
    Instructions textuelles à inclure dans la requête. Exemple : Please provide a summary for the audio. Provide chapter titles, be concise and short, no need to provide chapter summaries. Do not make up any information that is not part of the audio and do not be verbose.

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :

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

Exécutez ensuite la commande suivante pour envoyer votre requête 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-2.0-flash:generateContent"

PowerShell

Enregistrez le corps de la requête dans un fichier nommé request.json. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :

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

Exécutez ensuite la commande suivante pour envoyer votre requête 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-2.0-flash:generateContent" | Select-Object -Expand Content

Vous devriez recevoir une réponse JSON semblable à la suivante.

Notez les points suivants dans l'URL de cet exemple :
  • Utilisez la méthode generateContent pour demander que la réponse soit renvoyée une fois qu'elle a été entièrement générée. Pour réduire la perception de la latence auprès d'un public humain, affichez la réponse progressivement à mesure qu'elle est générée à l'aide de la méthode streamGenerateContent.
  • L'ID du modèle multimodal se trouve à la fin de l'URL avant la méthode (par exemple, gemini-2.0-flash). Cet exemple peut également s'appliquer à d'autres modèles.

Transcription audio

Vous trouverez ci-dessous la procédure à suivre pour transcrire un entretien à l'aide d'un fichier audio. Pour activer la compréhension des codes temporels pour les fichiers contenant uniquement des données audio, activez le paramètre audioTimestamp dans GenerationConfig.

Console

Pour envoyer une requête multimodale à l'aide de la console Google Cloud , procédez comme suit :

  1. Dans la section "Vertex AI" de la console Google Cloud , accédez à la page Vertex AI Studio.

    Accéder à Vertex AI Studio

  2. Cliquez sur Créer une requête.

  3. (Facultatif) Configurez le modèle et les paramètres :

    • Modèle : sélectionnez un modèle.
  4. (Facultatif) Pour configurer des paramètres avancés, cliquez sur Avancé, puis configurez les paramètres comme suit :

    Cliquez pour développer les configurations avancées.

    • Top-K : utilisez le curseur ou la zone de texte pour saisir une valeur.

      Le top-K modifie la façon dont le modèle sélectionne les jetons pour la sortie. Une valeur top-K de 1 signifie que le prochain jeton sélectionné est le plus probable parmi tous les jetons du vocabulaire du modèle (également appelé décodage glouton), tandis qu'une valeur top-K de 3 signifie que le jeton suivant est sélectionné parmi les trois jetons les plus probables en utilisant la température.

      Pour chaque étape de sélection du jeton, les jetons top-K avec les probabilités les plus élevées sont échantillonnés. Les jetons sont ensuite filtrés en fonction du top-P avec le jeton final sélectionné à l'aide de l'échantillonnage de température.

      Spécifiez une valeur inférieure pour obtenir des réponses moins aléatoires et une valeur supérieure pour des réponses plus aléatoires.

    • Top-P : utilisez le curseur ou la zone de texte pour saisir une valeur. Les jetons sont sélectionnés du plus probable au moins probable, jusqu'à ce que la somme de leurs probabilités soit égale à la valeur du top-P. Pour obtenir les résultats les moins variables, définissez "Top-P" sur 0.
    • Nombre maximal de réponses : utilisez le curseur ou la zone de texte pour saisir le nombre de réponses à générer.
    • Réponses en streaming : permet d'imprimer les réponses au fur et à mesure de leur génération.
    • Seuil de filtre de sécurité : sélectionnez le seuil de la probabilité que des réponses potentiellement nuisibles s'affichent.
    • Activer l'ancrage : l'ancrage n'est pas compatible avec les requêtes multimodales.
    • Région : sélectionnez la région que vous souhaitez utiliser.
    • Température : utilisez le curseur ou la zone de texte pour saisir une valeur de température.

          
      The temperature is used for sampling during response generation, which occurs when topP
      and topK are applied. Temperature controls the degree of randomness in token selection.
      Lower temperatures are good for prompts that require a less open-ended or creative response, while
      higher temperatures can lead to more diverse or creative results. A temperature of 0
      means that the highest probability tokens are always selected. In this case, responses for a given
      prompt are mostly deterministic, but a small amount of variation is still possible.
      
      

      If the model returns a response that's too generic, too short, or the model gives a fallback response, try increasing the temperature.

      </li> <li>**Output token limit**: Use the slider or textbox to enter a value for the max output limit. Maximum number of tokens that can be generated in the response. A token is approximately four characters. 100 tokens correspond to roughly 60-80 words.

      Specify a lower value for shorter responses and a higher value for potentially longer responses.

      </li> <li>**Add stop sequence**: Optional. Enter a stop sequence, which is a series of characters that includes spaces. If the model encounters a stop sequence, the response generation stops. The stop sequence isn't included in the response, and you can add up to five stop sequences.</li> </ul>

  5. Cliquez sur Insérer un média, puis sélectionnez une source pour votre fichier.

    Importer

    Sélectionnez le fichier que vous souhaitez importer, puis cliquez sur Ouvrir.

    À partir d'une URL

    Saisissez l'URL du fichier que vous souhaitez utiliser, puis cliquez sur Insérer.

    Cloud Storage

    Sélectionnez le bucket, puis le fichier que vous souhaitez importer, et cliquez sur Sélectionner.

    Google Drive

    1. Choisissez un compte et autorisez Vertex AI Studio à y accéder la première fois que vous sélectionnez cette option. Vous pouvez importer plusieurs fichiers, à condition de ne pas dépasser une taille totale de 10 Mo. La taille d'un seul fichier ne peut pas dépasser 7 Mo.
    2. Cliquez sur le fichier que vous souhaitez ajouter.
    3. Cliquez sur Sélectionner.

      La vignette du fichier s'affiche dans le volet Requête. Le nombre total de jetons est également indiqué. Si les données de votre requête dépassent la limite de jetons, les jetons sont tronqués et ne sont pas inclus dans le traitement de vos données.

  6. Saisissez votre requête textuelle dans le volet Requête.

  7. (Facultatif) Pour afficher les ID de jeton Texte et les ID de jeton, cliquez sur le nombre de jetons dans le volet Requête.

  8. Cliquez sur Envoyer.

  9. (Facultatif) Pour enregistrer votre requête dans Mes requêtes, cliquez sur  Enregistrer.

  10. (Facultatif) pour obtenir le code Python ou la commande curl de votre requête, cliquez sur  Compiler avec du code > Obtenir le code.

Python

Installation

pip install --upgrade google-genai

Pour en savoir plus, consultez la documentation de référence du SDK.

Définissez des variables d'environnement pour utiliser le SDK Gen AI avec 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_VERTEXAI=True

from google import genai
from google.genai.types import GenerateContentConfig, HttpOptions, Part

client = genai.Client(http_options=HttpOptions(api_version="v1"))
prompt = """
Transcribe the interview, in the format of timecode, speaker, caption.
Use speaker A, speaker B, etc. to identify speakers.
"""
response = client.models.generate_content(
    model="gemini-2.5-flash",
    contents=[
        prompt,
        Part.from_uri(
            file_uri="gs://cloud-samples-data/generative-ai/audio/pixel.mp3",
            mime_type="audio/mpeg",
        ),
    ],
    # Required to enable timestamp understanding for audio-only files
    config=GenerateContentConfig(audio_timestamp=True),
)
print(response.text)
# Example response:
# [00:00:00] **Speaker A:** your devices are getting better over time. And so ...
# [00:00:14] **Speaker B:** Welcome to the Made by Google podcast where we meet ...
# [00:00:20] **Speaker B:** Here's your host, Rasheed Finch.
# [00:00:23] **Speaker C:** Today we're talking to Aisha Sharif and DeCarlos Love. ...
# ...

Go

Découvrez comment installer ou mettre à jour le Go.

Pour en savoir plus, lisez la documentation de référence du SDK.

Définissez des variables d'environnement pour utiliser le SDK Gen AI avec 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_VERTEXAI=True

import (
	"context"
	"fmt"
	"io"

	genai "google.golang.org/genai"
)

// generateAudioTranscript shows how to generate an audio transcript.
func generateAudioTranscript(w io.Writer) error {
	ctx := context.Background()

	client, err := genai.NewClient(ctx, &genai.ClientConfig{
		HTTPOptions: genai.HTTPOptions{APIVersion: "v1"},
	})
	if err != nil {
		return fmt.Errorf("failed to create genai client: %w", err)
	}

	modelName := "gemini-2.5-flash"
	contents := []*genai.Content{
		{Parts: []*genai.Part{
			{Text: `Transcribe the interview, in the format of timecode, speaker, caption.
Use speaker A, speaker B, etc. to identify speakers.`},
			{FileData: &genai.FileData{
				FileURI:  "gs://cloud-samples-data/generative-ai/audio/pixel.mp3",
				MIMEType: "audio/mpeg",
			}},
		},
			Role: "user"},
	}

	resp, err := client.Models.GenerateContent(ctx, modelName, contents, nil)
	if err != nil {
		return fmt.Errorf("failed to generate content: %w", err)
	}

	respText := resp.Text()

	fmt.Fprintln(w, respText)

	// Example response:
	// 00:00:00, A: your devices are getting better over time.
	// 00:01:13, A: And so we think about it across the entire portfolio from phones to watch, ...
	// ...

	return nil
}

Node.js

Installer

npm install @google/genai

Pour en savoir plus, consultez la documentation de référence du SDK.

Définissez des variables d'environnement pour utiliser le SDK Gen AI avec 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_VERTEXAI=True

const {GoogleGenAI} = require('@google/genai');

const GOOGLE_CLOUD_PROJECT = process.env.GOOGLE_CLOUD_PROJECT;
const GOOGLE_CLOUD_LOCATION = process.env.GOOGLE_CLOUD_LOCATION || 'global';

async function generateText(
  projectId = GOOGLE_CLOUD_PROJECT,
  location = GOOGLE_CLOUD_LOCATION
) {
  const client = new GoogleGenAI({
    vertexai: true,
    project: projectId,
    location: location,
  });

  const prompt = `Transcribe the interview, in the format of timecode, speaker, caption.
    Use speaker A, speaker B, etc. to identify speakers.`;

  const response = await client.models.generateContent({
    model: 'gemini-2.5-flash',
    contents: [
      {text: prompt},
      {
        fileData: {
          fileUri: 'gs://cloud-samples-data/generative-ai/audio/pixel.mp3',
          mimeType: 'audio/mpeg',
        },
      },
    ],
    // Required to enable timestamp understanding for audio-only files
    config: {
      audioTimestamp: true,
    },
  });

  console.log(response.text);

  // Example response:
  // [00:00:00] **Speaker A:** your devices are getting better over time. And so ...
  // [00:00:14] **Speaker B:** Welcome to the Made by Google podcast where we meet ...
  // [00:00:20] **Speaker B:** Here's your host, Rasheed Finch.
  // [00:00:23] **Speaker C:** Today we're talking to Aisha Sharif and DeCarlos Love. ...
  // ...

  return response.text;
}

Java

Découvrez comment installer ou mettre à jour le Java.

Pour en savoir plus, lisez la documentation de référence du SDK.

Définissez des variables d'environnement pour utiliser le SDK Gen AI avec 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_VERTEXAI=True


import com.google.genai.Client;
import com.google.genai.types.Content;
import com.google.genai.types.GenerateContentConfig;
import com.google.genai.types.GenerateContentResponse;
import com.google.genai.types.HttpOptions;
import com.google.genai.types.Part;

public class TextGenerationTranscriptWithGcsAudio {

  public static void main(String[] args) {
    // TODO(developer): Replace these variables before running the sample.
    String modelId = "gemini-2.5-flash";
    generateContent(modelId);
  }

  // Generates transcript with audio input
  public static String generateContent(String modelId) {
    // Client Initialization. Once created, it can be reused for multiple requests.
    try (Client client =
        Client.builder()
            .location("global")
            .vertexAI(true)
            .httpOptions(HttpOptions.builder().apiVersion("v1").build())
            .build()) {

      String prompt =
          "Transcribe the interview, in the format of timecode, speaker, caption.\n"
              + "Use speaker A, speaker B, etc. to identify speakers.";

      // Enable audioTimestamp to generate timestamps for audio-only files.
      GenerateContentConfig contentConfig =
          GenerateContentConfig.builder().audioTimestamp(true).build();

      GenerateContentResponse response =
          client.models.generateContent(
              modelId,
              Content.fromParts(
                  Part.fromUri(
                      "gs://cloud-samples-data/generative-ai/audio/pixel.mp3", "audio/mpeg"),
                  Part.fromText(prompt)),
              contentConfig);

      System.out.print(response.text());
      // Example response:
      // 00:00 - Speaker A: your devices are getting better over time. And so we think about it...
      // 00:14 - Speaker B: Welcome to the Made by Google Podcast, where we meet the people who...
      // 00:41 - Speaker A: So many features. I am a singer, so I actually think recorder...
      return response.text();
    }
  }
}

REST

Une fois que vous avez configuré votre environnement, vous pouvez utiliser REST pour tester un prompt textuel. L'exemple suivant envoie une requête au point de terminaison du modèle de l'éditeur.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : .
  • FILE_URI : URI ou URL du fichier à inclure dans la requête. Les valeurs acceptées incluent les suivantes :
    • URI du bucket Cloud Storage : l'objet doit être lisible publiquement ou se trouver dans le même projet Google Cloud que celui qui envoie la requête. La taille limite pour gemini-2.0-flash et gemini-2.0-flash-lite est de 2 Go.
    • URL HTTP : l'URL du fichier doit être lisible publiquement. Vous pouvez spécifier un fichier vidéo, un fichier audio et jusqu'à 10 fichiers image par requête. Les fichiers audio, les fichiers vidéo et les documents ne doivent pas dépasser 15 Mo.
    • URL de la vidéo YouTube : la vidéo YouTube doit appartenir au compte que vous avez utilisé pour vous connecter à la console Google Cloud ou être publique. Une seule URL de vidéo YouTube est acceptée par requête.

    Lorsque vous spécifiez un fileURI, vous devez également indiquer le type de contenu multimédia (mimeType) du fichier. Si VPC Service Controls est activé, la spécification d'une URL de fichier multimédia pour fileURI n'est pas acceptée.

    Si vous ne disposez pas de fichier audio dans Cloud Storage, vous pouvez utiliser le fichier suivant, disponible publiquement : gs://cloud-samples-data/generative-ai/audio/pixel.mp3 (type MIME : audio/mp3). Pour écouter cet audio, ouvrez l'exemple de fichier MP3.

  • MIME_TYPE : type de contenu du fichier spécifié dans les champs data ou fileUri. Les valeurs acceptées incluent les suivantes :

    Cliquez pour développer les types 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
    Instructions textuelles à inclure dans la requête. Exemple : Can you transcribe this interview, in the format of timecode, speaker, caption. Use speaker A, speaker B, etc. to identify speakers.

Pour envoyer votre requête, choisissez l'une des options suivantes :

curl

Enregistrez le corps de la requête dans un fichier nommé request.json. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :

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

Exécutez ensuite la commande suivante pour envoyer votre requête 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-2.0-flash:generateContent"

PowerShell

Enregistrez le corps de la requête dans un fichier nommé request.json. Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :

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

Exécutez ensuite la commande suivante pour envoyer votre requête 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-2.0-flash:generateContent" | Select-Object -Expand Content

Vous devriez recevoir une réponse JSON semblable à la suivante.

Notez les points suivants dans l'URL de cet exemple :
  • Utilisez la méthode generateContent pour demander que la réponse soit renvoyée une fois qu'elle a été entièrement générée. Pour réduire la perception de la latence auprès d'un public humain, affichez la réponse progressivement à mesure qu'elle est générée à l'aide de la méthode streamGenerateContent.
  • L'ID du modèle multimodal se trouve à la fin de l'URL avant la méthode (par exemple, gemini-2.0-flash). Cet exemple peut également s'appliquer à d'autres modèles.

Définir des paramètres de modèle facultatifs

Chaque modèle est associé à un ensemble de paramètres facultatifs que vous pouvez définir. Pour en savoir plus, consultez Paramètres de génération de contenu.

Limites

Bien que les modèles multimodaux Gemini soient performants dans de nombreux cas d'utilisation multimodaux, il est important de comprendre leurs limites :

  • Reconnaissance des sons non vocaux : les modèles compatibles avec les flux audio peuvent faire des erreurs et reconnaître des sons autres que la parole.
  • Codes temporels audio : pour générer des codes temporels précis pour les fichiers contenant uniquement des données audio, vous devez configurer le paramètre audio_timestamp dans generation_config.

Étapes suivantes