Gemini peut répondre à des requêtes concernant des contenus audio. 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. Par exemple, Gemini peut :
- Décrivez, résumez ou répondez à des questions sur des contenus audio.
- Fournissez une transcription de l'audio.
- Fournir des réponses ou une transcription sur un segment audio spécifique
La compréhension audio est l'une des entrées multimodales de Gemini qui combinent du texte avec des fichiers multimédias.
Pour en savoir plus sur la compréhension audio avec Gemini et obtenir des instructions détaillées sur l'envoi de requêtes API, consultez Envoyer une requête multimodale.
Spécifications pour les invites avec audio
Vous pouvez ajouter des fichiers audio à votre requête Gemini. La durée maximale des données audio dans une même requête est de 15 minutes ou jusqu'à 32 000 jetons. Gemini ne limite pas le nombre de fichiers audio dans une même requête, mais la durée totale combinée de tous les fichiers audio dans une même requête ne peut pas dépasser 15 minutes.
Gemini peut comprendre la parole pour résumer, transcrire et traduire des contenus audio.
L'audio doit correspondre à l'un des types MIME de format audio suivants :
- AAC :
audio/aac - AIF :
audio/aiff - FLAC :
audio/flac - MP3 :
audio/mp3 - OGG :
audio/ogg - WAV :
audio/wav
Gemini impose les règles suivantes concernant l'audio :
- Représentez chaque seconde d'audio par 25 jetons. Par exemple, une minute d'audio est représentée par 1 500 jetons.
- N'infère les réponses qu'à partir de la parole en anglais.
- Analyser les composants non vocaux, tels que le chant des oiseaux ou les sirènes.
- Échantillonnez les fichiers audio à une résolution de données de 16 kbit/s. Si la source audio contient plusieurs canaux, Gemini les combine en un seul canal.
Vous pouvez utiliser le point de terminaison Chat Completions dans l'API REST et utiliser un client HTTP ou les SDK officiels d'OpenAI pour Python. Vous pouvez fournir l'audio sous forme de données intégrées à la requête d'invite en tant que fichier encodé en base64 ou importer le fichier audio dans un bucket de stockage avant d'envoyer la requête d'invite.
Pour en savoir plus sur les limites concernant l'audio, consultez la documentation Google Cloud .
Pour en savoir plus sur OpenAI et le point de terminaison Chat Completions que Gemini implémente dans Google Distributed Cloud (GDC) air-gapped, consultez https://platform.openai.com/docs/api-reference/chat.
Comprendre le contenu audio d'une requête
Les exemples suivants montrent une requête de l'API Gemini Chat Completions pour générer du texte à partir d'une entrée texte et audio à l'aide des SDK officiels d'OpenAI pour Python ou curl. Vous pouvez envoyer l'audio sous forme de données intégrées ou fournir une URL audio dans la requête.
Envoyer des demandes de données intégrées
Fournissez l'audio sous forme de données intégrées à la requête d'invite à partir de fichiers encodés en base64.
La requête API contient le champ input_audio pour l'audio encodé en base64. L'exemple suivant montre comment envoyer des requêtes audio encodées en base64 :
Python
import openai
client = openai.OpenAI()
model_response = client.chat.completions.create(
model = "MODEL_ID",
messages = [
{
"role": "user",
"content": "Show me the lyrics of this song."
},
{
"role": "user",
"content": [
{
"type": "input_audio",
"input_audio": {
"data": BASE64_DATA,
# Valid formats are aac, aiff, flac, mp3, ogg, or wav
"format": "mp3"
}
}
]
}
]
)
print(model_response)
Remplacez les éléments suivants :
MODEL_ID: ID du point de terminaison du modèle avec lequel vous souhaitez générer la réponse.BASE64_DATA: données encodées en base64 du fichier audio. Les données encodées en base64 doivent être précédées d'un schéma d'URI de données, RFC 2397. Par conséquent, le format du champdatapour les données encodées en base64 est, par exemple,"data": f"data:audio/mp3;base64,{base64_audio}".
curl
curl \
-X POST "https://ENDPOINT:443/v1/projects/PROJECT/locations/PROJECT/chat/completions" \
-H "Content-Type: application/json; charset=utf-8" \
-H "Authorization: Bearer $(gdcloud auth print-identity-token)" \
-d '{
"model_id": "MODEL_ID",
"messages": [
{
"role": "user",
"content": "Show me the lyrics of this song."
},
{
"role": "user",
"content": [
{
"type": "input_audio",
"input_audio": {
"data": BASE64_DATA,
# Valid formats are aac, aiff, flac, mp3, ogg, or wav
"format": "mp3"
}
}
]
}
],
}'
Remplacez les éléments suivants :
ENDPOINT: point de terminaison de l'API que vous utilisez pour votre organisation.PROJECT: ID de votre projet.MODEL_ID: ID du point de terminaison du modèle avec lequel vous souhaitez générer la réponse.BASE64_DATA: données encodées en base64 du fichier audio. Les données encodées en base64 doivent être précédées d'un schéma d'URI de données, RFC 2397. Par conséquent, le format du champdatapour les données encodées en base64 est, par exemple,"data": f"data:audio/mp3;base64,{base64_audio}".
Envoyer des URL audio dans la requête
Importez le fichier audio dans un bucket de stockage avant d'envoyer la requête. La requête API contient le champ audio_url pour les fichiers audio dans les buckets de stockage. L'exemple suivant montre comment envoyer des requêtes d'URL audio :
curl \
-X POST "https://ENDPOINT:443/v1/projects/PROJECT/locations/PROJECT/chat/completions" \
-H "Content-Type: application/json; charset=utf-8" \
-H "Authorization: Bearer $(gdcloud auth print-identity-token)" \
-d '{
"model_id": "MODEL_ID",
"messages": [
{
"role": "user",
"content": "Show me the lyrics of this song."
},
{
"role": "user",
"content": [
{
"type": "audio_url",
"audio_url": {
"url": "AUDIO_URL",
}
}
]
}
],
}'
Remplacez les éléments suivants :
ENDPOINT: point de terminaison de l'API que vous utilisez pour votre organisation.PROJECT: ID de votre projet.MODEL_ID: ID du point de terminaison du modèle avec lequel vous souhaitez générer la réponse.AUDIO_URL: chemin d'accès à une URL audio dans un bucket de stockage. Les URL audio doivent faire référence à des fichiers audio stockés dans un bucket de stockage GDC. Pour en savoir plus, consultez Stocker des données.