فهم الصوت  |  Gemini Generate Content API (Legacy)  |  Google AI for Developers التخطّي إلى المحتوى الرئيسي / English Deutsch Español – América Latina Français Indonesia Italiano Polski Português – Brasil Shqip Tiếng Việt Türkçe Русский עברית العربيّة فارسی हिंदी বাংলা ภาษาไทย 中文 – 简体 中文 – 繁體 日本語 한국어 الحصول على مفتاح واجهة برمجة التطبيقات كتاب الطبخ منتدى تسجيل الدخول المستندات مرجع واجهة برمجة التطبيقات Gemini API المستندات مرجع واجهة برمجة التطبيقات الحصول على مفتاح واجهة برمجة التطبيقات كتاب الطبخ منتدى البدء نظرة عامة البدء مفاتيح واجهة برمجة التطبيقات المكتبات الأسعار واجهة برمجة التطبيقات Interactions API إعداد وكيل البرمجة الطرُز كل الطرز الحالي: Gemini 3.5 Nano Banana Veo Gemini Omni Flash ‫Lyria 3 Lyria RealTime Imagen نص إلى كلام الفيديوهات المباشرة الترجمة المباشرة التضمينات روبوتيات الإمكانات الأساسية نص صورة إنشاء الصور 🍌 فهم الصور فيديو نظرة عامة على الفيديو فهم الفيديو المستندات الكلام والصوت إنشاء الكلام فهم الصوت جارٍ التفكير جارٍ التفكير توقيعات الأفكار النتائج المنظَّمة استدعاء الدالة سياق طويل الوكلاء نظرة عامة التشغيل السريع Antigravity Agent إنشاء وكلاء مُدارين البيئات Deep Research Agent الأدوات نظرة عامة Google Search Google Maps تنفيذ الرمز البرمجي سياق عنوان URL استخدام الكمبيوتر البحث عن الملفات الجمع بين "الأدوات" و"استدعاء الدالة" واجهة برمجة التطبيقات للبث المباشر نظرة عامة البدء بدء استخدام حزمة تطوير البرامج (SDK) للذكاء الاصطناعي التوليدي بدء استخدام WebSockets غير المعالجة الإمكانات الترجمة المباشرة استخدام الأداة إدارة الجلسة الرموز المميّزة المؤقتة أفضل الممارسات التحسين نظرة عامة Batch API الردّ التلقائي على الويب الاستنتاج المرن الاستدلال حسب الأولوية التخزين المؤقت للسياق الأدلة بث إدخال الملف أساليب الإدخال واجهة برمجة تطبيقات الملفات التوافق مع OpenAI درجة دقة الوسائط احتساب الرموز المميّزة هندسة الطلبات السجلّات ومجموعات البيانات بدء استخدام السجلات تسجيل البيانات ومشاركتها دفاع إعدادات الأمن الشخصي إرشادات السلامة الأطر LangChain وLangGraph CrewAI LlamaIndex Vercel AI SDK زماني الموارد ملاحظات حول الإصدار الميزات التي سيتم إيقافها نهائيًا النقل نقل البيانات إلى حزمة تطوير برامج الذكاء الاصطناعي التوليدي نقل البيانات إلى Interactions API التغييرات غير المتوافقة في التفاعلات (مايو 2026) حدود المعدل معلومات الفوترة تحديد المشاكل في واجهة برمجة التطبيقات وحلّها الحالة عمليات الدمج مع الشركاء والمكتبات Google AI Studio التشغيل السريع البرمجة الوصفية في "وضع الإنشاء" تطوير تطبيقات الحزمة الكاملة تجربة LearnLM تحديد المشاكل وحلّها إمكانية الوصول لمستخدمي Workspace Google Cloud Platform Gemini Enterprise Agent Platform Gemini API مصادقة OAuth السياسات بنود الخدمة المناطق المتاحة رصد إساءة الاستخدام الملاحظات في "تعليقات Google" أصبحت Interactions API متاحة الآن للجميع. ننصحك باستخدام واجهة برمجة التطبيقات هذه للوصول إلى جميع أحدث الميزات والنماذج. Google uses AI technology to translate content into your preferred language. AI translations can contain errors. الصفحة الرئيسية Gemini API Generate Content API المستندات إرسال ملاحظات فهم الصوت ملاحظة: يتناول هذا الإصدار من الصفحة generateContent API السابق. ننصح باستخدام Interactions API الجديد للوصول إلى جميع أحدث الميزات والنماذج. يمكنك استخدام الزرّ في هذه الصفحة للتبديل إلى إصدار Interactions API من هذه الصفحة. يمكن لـ Gemini تحليل الإدخال الصوتي وإنشاء ردود نصية. Python from google import genai client = genai.Client() myfile = client.files.upload(file="path/to/sample.mp3") response = client.models.generate_content( model="gemini-3.5-flash", contents=["Describe this audio clip", myfile] ) print(response.text) JavaScript import { GoogleGenAI, createUserContent, createPartFromUri, } from "@google/genai"; const ai = new GoogleGenAI({}); async function main() { const myfile = await ai.files.upload({ file: "path/to/sample.mp3", config: { mimeType: "audio/mp3" }, }); const response = await ai.models.generateContent({ model: "gemini-3.5-flash", contents: createUserContent([ createPartFromUri(myfile.uri, myfile.mimeType), "Describe this audio clip", ]), }); console.log(response.text); } await main(); انتقال package main import ( "context" "fmt" "os" "google.golang.org/genai" ) func main() { ctx := context.Background() client, err := genai.NewClient(ctx, nil) if err != nil { log.Fatal(err) } localAudioPath := "/path/to/sample.mp3" uploadedFile, _ := client.Files.UploadFromPath( ctx, localAudioPath, nil, ) parts := []*genai.Part{ genai.NewPartFromText("Describe this audio clip"), genai.NewPartFromURI(uploadedFile.URI, uploadedFile.MIMEType), } contents := []*genai.Content{ genai.NewContentFromParts(parts, genai.RoleUser), } result, _ := client.Models.GenerateContent( ctx, "gemini-3.5-flash", contents, nil, ) fmt.Println(result.Text()) } REST AUDIO_PATH="path/to/sample.mp3" MIME_TYPE=$(file -b --mime-type "${AUDIO_PATH}") NUM_BYTES=$(wc -c < "${AUDIO_PATH}") DISPLAY_NAME=AUDIO tmp_header_file=upload-header.tmp # Initial resumable request defining metadata. # The upload url is in the response headers dump them to a file. curl "https://generativelanguage.googleapis.com/upload/v1beta/files" \ -H "x-goog-api-key: $GEMINI_API_KEY" \ -D upload-header.tmp \ -H "X-Goog-Upload-Protocol: resumable" \ -H "X-Goog-Upload-Command: start" \ -H "X-Goog-Upload-Header-Content-Length: ${NUM_BYTES}" \ -H "X-Goog-Upload-Header-Content-Type: ${MIME_TYPE}" \ -H "Content-Type: application/json" \ -d "{'file': {'display_name': '${DISPLAY_NAME}'}}" 2> /dev/null upload_url=$(grep -i "x-goog-upload-url: " "${tmp_header_file}" | cut -d" " -f2 | tr -d "\r") rm "${tmp_header_file}" # Upload the actual bytes. curl "${upload_url}" \ -H "Content-Length: ${NUM_BYTES}" \ -H "X-Goog-Upload-Offset: 0" \ -H "X-Goog-Upload-Command: upload, finalize" \ --data-binary "@${AUDIO_PATH}" 2> /dev/null > file_info.json file_uri=$(jq ".file.uri" file_info.json) echo file_uri=$file_uri # Now generate content using that file curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-flash:generateContent" \ -H "x-goog-api-key: $GEMINI_API_KEY" \ -H 'Content-Type: application/json' \ -X POST \ -d '{ "contents": [{ "parts":[ {"text": "Describe this audio clip"}, {"file_data":{"mime_type": "${MIME_TYPE}", "file_uri": '$file_uri'}}] }] }' 2> /dev/null > response.json cat response.json echo jq ".candidates[].content.parts[].text" response.json نظرة عامة يمكن لـ Gemini تحليل الإدخال الصوتي وفهمه وإنشاء ردود نصية عليه، ما يتيح حالات استخدام مثل ما يلي: وصف المحتوى الصوتي أو تلخيصه أو الإجابة عن أسئلة بشأنه تقديم نص صوتي وترجمة له (تحويل الكلام إلى نص) رصد المشاعر في الكلام والموسيقى تحليل مقاطع معيّنة من الصوت وتقديم طوابع زمنية لا تتيح Gemini API حاليًا حالات استخدام النص الصوتي في الوقت الفعلي. للتفاعلات الصوتية والمرئية في الوقت الفعلي، يُرجى الرجوع إلى Live API. لاستخدام نماذج مخصّصة لتحويل الكلام إلى نص تتيح النص الصوتي في الوقت الفعلي، استخدِم Google Cloud Speech-to-Text API. تحويل الكلام إلى نص يوضّح تطبيق المثال هذا كيفية مطالبة Gemini API بتحويل الكلام إلى نص وترجمته وتلخيصه، بما في ذلك الطوابع الزمنية ورصد المشاعر باستخدام النتائج المنظَّمة. Python from google import genai from google.genai import types client = genai.Client() YOUTUBE_URL = "https://www.youtube.com/watch?v=ku-N-eS1lgM" def main(): prompt = """ Process the audio file and generate a detailed transcription. Requirements: 1. Provide accurate timestamps for each segment (Format: MM:SS). 2. Detect the primary language of each segment. 3. If the segment is in a language different than English, also provide the English translation. 4. Identify the primary emotion of the speaker in this segment. You MUST choose exactly one of the following: Happy, Sad, Angry, Neutral. 5. Provide a brief summary of the entire audio at the beginning. """ response = client.models.generate_content( model="gemini-3.5-flash", contents=[ types.Content( parts=[ types.Part( file_data=types.FileData( file_uri=YOUTUBE_URL ) ), types.Part( text=prompt ) ] ) ], config=types.GenerateContentConfig( response_format={"text": {"mime_type": "application/json"}}, response_schema=types.Schema( type=types.Type.OBJECT, properties={ "summary": types.Schema( type=types.Type.STRING, description="A concise summary of the audio content.", ), "segments": types.Schema( type=types.Type.ARRAY, description="List of transcribed segments with timestamp.", items=types.Schema( type=types.Type.OBJECT, properties={ "timestamp": types.Schema(type=types.Type.STRING), "content": types.Schema(type=types.Type.STRING), "language": types.Schema(type=types.Type.STRING), "language_code": types.Schema(type=types.Type.STRING), "translation": types.Schema(type=types.Type.STRING), "emotion": types.Schema( type=types.Type.STRING, enum=["happy", "sad", "angry", "neutral"] ), }, required=["timestamp", "content", "language", "language_code", "emotion"], ), ), }, required=["summary", "segments"], ), ), ) print(response.text) if __name__ == "__main__": main() JavaScript import { GoogleGenAI, Type } from "@google/genai"; const ai = new GoogleGenAI({}); const YOUTUBE_URL = "https://www.youtube.com/watch?v=ku-N-eS1lgM"; async function main() { const prompt = ` Process the audio file and generate a detailed transcription. Requirements: 1. Provide accurate timestamps for each segment (Format: MM:SS). 2. Detect the primary language of each segment. 3. If the segment is in a language different than English, also provide the English translation. 4. Identify the primary emotion of the speaker in this segment. You MUST choose exactly one of the following: Happy, Sad, Angry, Neutral. 5. Provide a brief summary of the entire audio at the beginning. `; const Emotion = { Happy: 'happy', Sad: 'sad', Angry: 'angry', Neutral: 'neutral' }; const response = await ai.models.generateContent({ model: "gemini-3.5-flash", contents: { parts: [ { fileData: { fileUri: YOUTUBE_URL, }, }, { text: prompt, }, ], }, config: { responseFormat: { text: { mimeType: "application/json" } }, responseSchema: { type: Type.OBJECT, properties: { summary: { type: Type.STRING, description: "A concise summary of the audio content.", }, segments: { type: Type.ARRAY, description: "List of transcribed segments with timestamp.", items: { type: Type.OBJECT, properties: { timestamp: { type: Type.STRING }, content: { type: Type.STRING }, language: { type: Type.STRING }, language_code: { type: Type.STRING }, translation: { type: Type.STRING }, emotion: { type: Type.STRING, enum: Object.values(Emotion) }, }, required: ["timestamp", "content", "language", "language_code", "emotion"], }, }, }, required: ["summary", "segments"], }, }, }); const json = JSON.parse(response.text); console.log(json); } await main(); REST curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-flash:generateContent" \ -H "x-goog-api-key: $GEMINI_API_KEY" \ -H 'Content-Type: application/json' \ -X POST \ -d '{ "contents": [ { "parts": [ { "file_data": { "file_uri": "https://www.youtube.com/watch?v=ku-N-eS1lgM", "mime_type": "video/mp4" } }, { "text": "Process the audio file and generate a detailed transcription.\n\nRequirements:\n1. Provide accurate timestamps for each segment (Format: MM:SS).\n2. Detect the primary language of each segment.\n3. If the segment is in a language different than English, also provide the English translation.\n4. Identify the primary emotion of the speaker in this segment. You MUST choose exactly one of the following: Happy, Sad, Angry, Neutral.\n5. Provide a brief summary of the entire audio at the beginning." } ] } ], "generation_config": { "response_format": {"text": {"mime_type": "application/json"}}, "response_schema": { "type": "OBJECT", "properties": { "summary": { "type": "STRING", "description": "A concise summary of the audio content." }, "segments": { "type": "ARRAY", "description": "List of transcribed segments with timestamp.", "items": { "type": "OBJECT", "properties": { "timestamp": { "type": "STRING" }, "content": { "type": "STRING" }, "language": { "type": "STRING" }, "language_code": { "type": "STRING" }, "translation": { "type": "STRING" }, "emotion": { "type": "STRING", "enum": ["happy", "sad", "angry", "neutral"] } }, "required": ["timestamp", "content", "language", "language_code", "emotion"] } } }, "required": ["summary", "segments"] } } }' 2> /dev/null > response.json cat response.json echo jq ".candidates[].content.parts[].text" response.json يمكنك مطالبة AI Studio Build بإنشاء تطبيق تمامًا مثل تطبيق النص الصوتي في المثال هذا بنقرة زر. إدخال الصوت يمكنك تزويد Gemini بالبيانات الصوتية بإحدى الطريقتَين التاليتَين: تحميل ملف صوتي قبل إرسال طلب إلى generateContent. تمرير بيانات صوتية مضمّنة مع الطلب إلى generateContent للتعرّف على طرق إدخال الملفات الأخرى، يُرجى الاطّلاع على دليل طرق إدخال الملفات. تحميل ملف صوتي يمكنك استخدام Files API لتحميل ملف صوتي. استخدِم دائمًا Files API عندما يكون إجمالي حجم الطلب (بما في ذلك الملفات والطلب النصي وتعليمات النظام وما إلى ذلك) أكبر من 20 ميغابايت. يحمّل الرمز البرمجي التالي ملفًا صوتيًا ثم يستخدم الملف في طلب إلى generateContent. Python from google import genai client = genai.Client() myfile = client.files.upload(file="path/to/sample.mp3") response = client.models.generate_content( model="gemini-3.5-flash", contents=["Describe this audio clip", myfile] ) print(response.text) JavaScript import { GoogleGenAI, createUserContent, createPartFromUri, } from "@google/genai"; const ai = new GoogleGenAI({}); async function main() { const myfile = await ai.files.upload({ file: "path/to/sample.mp3", config: { mimeType: "audio/mp3" }, }); const response = await ai.models.generateContent({ model: "gemini-3.5-flash", contents: createUserContent([ createPartFromUri(myfile.uri, myfile.mimeType), "Describe this audio clip", ]), }); console.log(response.text); } await main(); انتقال package main import ( "context" "fmt" "os" "google.golang.org/genai" ) func main() { ctx := context.Background() client, err := genai.NewClient(ctx, nil) if err != nil { log.Fatal(err) } localAudioPath := "/path/to/sample.mp3" uploadedFile, _ := client.Files.UploadFromPath( ctx, localAudioPath, nil, ) parts := []*genai.Part{ genai.NewPartFromText("Describe this audio clip"), genai.NewPartFromURI(uploadedFile.URI, uploadedFile.MIMEType), } contents := []*genai.Content{ genai.NewContentFromParts(parts, genai.RoleUser), } result, _ := client.Models.GenerateContent( ctx, "gemini-3.5-flash", contents, nil, ) fmt.Println(result.Text()) } REST AUDIO_PATH="path/to/sample.mp3" MIME_TYPE=$(file -b --mime-type "${AUDIO_PATH}") NUM_BYTES=$(wc -c < "${AUDIO_PATH}") DISPLAY_NAME=AUDIO tmp_header_file=upload-header.tmp # Initial resumable request defining metadata. # The upload url is in the response headers dump them to a file. curl "https://generativelanguage.googleapis.com/upload/v1beta/files" \ -H "x-goog-api-key: $GEMINI_API_KEY" \ -D upload-header.tmp \ -H "X-Goog-Upload-Protocol: resumable" \ -H "X-Goog-Upload-Command: start" \ -H "X-Goog-Upload-Header-Content-Length: ${NUM_BYTES}" \ -H "X-Goog-Upload-Header-Content-Type: ${MIME_TYPE}" \ -H "Content-Type: application/json" \ -d "{'file': {'display_name': '${DISPLAY_NAME}'}}" 2> /dev/null upload_url=$(grep -i "x-goog-upload-url: " "${tmp_header_file}" | cut -d" " -f2 | tr -d "\r") rm "${tmp_header_file}" # Upload the actual bytes. curl "${upload_url}" \ -H "Content-Length: ${NUM_BYTES}" \ -H "X-Goog-Upload-Offset: 0" \ -H "X-Goog-Upload-Command: upload, finalize" \ --data-binary "@${AUDIO_PATH}" 2> /dev/null > file_info.json file_uri=$(jq ".file.uri" file_info.json) echo file_uri=$file_uri # Now generate content using that file curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-flash:generateContent" \ -H "x-goog-api-key: $GEMINI_API_KEY" \ -H 'Content-Type: application/json' \ -X POST \ -d '{ "contents": [{ "parts":[ {"text": "Describe this audio clip"}, {"file_data":{"mime_type": "${MIME_TYPE}", "file_uri": '$file_uri'}}] }] }' 2> /dev/null > response.json cat response.json echo jq ".candidates[].content.parts[].text" response.json لمزيد من المعلومات عن استخدام ملفات الوسائط، يُرجى الاطّلاع على Files API. تمرير البيانات الصوتية مضمّنة بدلاً من تحميل ملف صوتي، يمكنك تمرير بيانات صوتية مضمّنة في الطلب إلى generateContent: Python from google import genai from google.genai import types with open('path/to/small-sample.mp3', 'rb') as f: audio_bytes = f.read() client = genai.Client() response = client.models.generate_content( model='gemini-3.5-flash', contents=[ 'Describe this audio clip', types.Part.from_bytes( data=audio_bytes, mime_type='audio/mp3', ) ] ) print(response.text) JavaScript import { GoogleGenAI } from "@google/genai"; import * as fs from "node:fs"; const ai = new GoogleGenAI({}); const base64AudioFile = fs.readFileSync("path/to/small-sample.mp3", { encoding: "base64", }); const contents = [ { text: "Please summarize the audio." }, { inlineData: { mimeType: "audio/mp3", data: base64AudioFile, }, }, ]; const response = await ai.models.generateContent({ model: "gemini-3.5-flash", contents: contents, }); console.log(response.text); انتقال package main import ( "context" "fmt" "os" "google.golang.org/genai" ) func main() { ctx := context.Background() client, err := genai.NewClient(ctx, nil) if err != nil { log.Fatal(err) } audioBytes, _ := os.ReadFile("/path/to/small-sample.mp3") parts := []*genai.Part{ genai.NewPartFromText("Describe this audio clip"), &genai.Part{ InlineData: &genai.Blob{ MIMEType: "audio/mp3", Data: audioBytes, }, }, } contents := []*genai.Content{ genai.NewContentFromParts(parts, genai.RoleUser), } result, _ := client.Models.GenerateContent( ctx, "gemini-3.5-flash", contents, nil, ) fmt.Println(result.Text()) } في ما يلي بعض النقاط التي يجب أخذها في الاعتبار بشأن البيانات الصوتية المضمّنة: الحد الأقصى لحجم الطلب هو 20 ميغابايت، ويشمل ذلك الطلبات النصية وتعليمات النظام والملفات المضمّنة. إذا كان حجم ملفك سيؤدي إلى تجاوز إجمالي حجم الطلب 20 ميغابايت، فاستخدِم Files API لـ تحميل ملف صوتي لاستخدامه في الطلب. إذا كنت تستخدم نموذجًا صوتيًا عدة مرات، من الأفضل أن تحمّل ملفًا صوتيًا. الحصول على نص صوتي للحصول على نص صوتي للبيانات الصوتية، ما عليك سوى طلبه في الطلب: Python from google import genai client = genai.Client() myfile = client.files.upload(file='path/to/sample.mp3') prompt = 'Generate a transcript of the speech.' response = client.models.generate_content( model='gemini-3.5-flash', contents=[prompt, myfile] ) print(response.text) JavaScript import { GoogleGenAI, createUserContent, createPartFromUri, } from "@google/genai"; const ai = new GoogleGenAI({}); const myfile = await ai.files.upload({ file: "path/to/sample.mp3", config: { mimeType: "audio/mpeg" }, }); const result = await ai.models.generateContent({ model: "gemini-3.5-flash", contents: createUserContent([ createPartFromUri(myfile.uri, myfile.mimeType), "Generate a transcript of the speech.", ]), }); console.log("result.text=", result.text); انتقال package main import ( "context" "fmt" "os" "google.golang.org/genai" ) func main() { ctx := context.Background() client, err := genai.NewClient(ctx, nil) if err != nil { log.Fatal(err) } localAudioPath := "/path/to/sample.mp3" uploadedFile, _ := client.Files.UploadFromPath( ctx, localAudioPath, nil, ) parts := []*genai.Part{ genai.NewPartFromText("Generate a transcript of the speech."), genai.NewPartFromURI(uploadedFile.URI, uploadedFile.MIMEType), } contents := []*genai.Content{ genai.NewContentFromParts(parts, genai.RoleUser), } result, _ := client.Models.GenerateContent( ctx, "gemini-3.5-flash", contents, nil, ) fmt.Println(result.Text()) } الإشارة إلى الطوابع الزمنية يمكنك الإشارة إلى أقسام معيّنة من ملف صوتي باستخدام طوابع زمنية بالتنسيق MM:SS. على سبيل المثال، يطلب الطلب التالي نصًا صوتيًا يبدأ بعد دقيقتَين و30 ثانية من بداية الملف. ينتهي بعد 3 دقائق و29 ثانية من بداية الملف. Python # Create a prompt containing timestamps. prompt = "Provide a transcript of the speech from 02:30 to 03:29." JavaScript // Create a prompt containing timestamps. const prompt = "Provide a transcript of the speech from 02:30 to 03:29." انتقال package main import ( "context" "fmt" "os" "google.golang.org/genai" ) func main() { ctx := context.Background() client, err := genai.NewClient(ctx, nil) if err != nil { log.Fatal(err) } localAudioPath := "/path/to/sample.mp3" uploadedFile, _ := client.Files.UploadFromPath( ctx, localAudioPath, nil, ) parts := []*genai.Part{ genai.NewPartFromText("Provide a transcript of the speech " + "between the timestamps 02:30 and 03:29."), genai.NewPartFromURI(uploadedFile.URI, uploadedFile.MIMEType), } contents := []*genai.Content{ genai.NewContentFromParts(parts, genai.RoleUser), } result, _ := client.Models.GenerateContent( ctx, "gemini-3.5-flash", contents, nil, ) fmt.Println(result.Text()) } عدد الرموز المميّزة استخدِم طريقة countTokens للحصول على عدد الرموز المميّزة في ملف صوتي. على سبيل المثال: Python from google import genai client = genai.Client() response = client.models.count_tokens( model='gemini-3.5-flash', contents=[myfile] ) print(response) JavaScript import { GoogleGenAI, createUserContent, createPartFromUri, } from "@google/genai"; const ai = new GoogleGenAI({}); const myfile = await ai.files.upload({ file: "path/to/sample.mp3", config: { mimeType: "audio/mpeg" }, }); const countTokensResponse = await ai.models.countTokens({ model: "gemini-3.5-flash", contents: createUserContent([ createPartFromUri(myfile.uri, myfile.mimeType), ]), }); console.log(countTokensResponse.totalTokens); انتقال package main import ( "context" "fmt" "os" "google.golang.org/genai" ) func main() { ctx := context.Background() client, err := genai.NewClient(ctx, nil) if err != nil { log.Fatal(err) } localAudioPath := "/path/to/sample.mp3" uploadedFile, _ := client.Files.UploadFromPath( ctx, localAudioPath, nil, ) parts := []*genai.Part{ genai.NewPartFromURI(uploadedFile.URI, uploadedFile.MIMEType), } contents := []*genai.Content{ genai.NewContentFromParts(parts, genai.RoleUser), } tokens, _ := client.Models.CountTokens( ctx, "gemini-3.5-flash", contents, nil, ) fmt.Printf("File %s is %d tokens\n", localAudioPath, tokens.TotalTokens) } تنسيقات الصوت المتوافقة تتيح Gemini أنواع MIME التالية لتنسيقات الصوت: WAV - audio/wav MP3 - audio/mp3 AIFF - audio/aiff AAC - audio/aac OGG Vorbis - audio/ogg FLAC - audio/flac التفاصيل الفنية عن الصوت يمثّل Gemini كل ثانية من الصوت بـ 32 رمزًا مميّزًا، على سبيل المثال، يتم تمثيل دقيقة واحدة من الصوت بـ 1,920 رمزًا مميّزًا. يمكن لـ Gemini "فهم" المكوّنات غير الكلامية، مثل زقزقة العصافير أو صفارات الإنذار. الحد الأقصى لطول البيانات الصوتية التي يمكن استخدامها في طلب واحد هو 9.5 ساعات. لا يفرض Gemini حدًا على عدد الملفات الصوتية في طلب واحد، ولكن لا يمكن أن يتجاوز إجمالي الطول المجمّع لجميع الملفات الصوتية في طلب واحد 9.5 ساعات. يقلّل Gemini من دقة البيانات في الملفات الصوتية إلى 16 كيلوبت في الثانية. إذا كان المصدر الصوتي يحتوي على قنوات متعددة، يدمج Gemini هذه القنوات في قناة واحدة. الخطوات التالية يوضّح هذا الدليل كيفية إنشاء نص استجابةً للبيانات الصوتية. لمزيد من المعلومات، يُرجى الاطّلاع على المَراجع التالية: استراتيجيات إنشاء الطلبات باستخدام الملفات: تتيح Gemini API إرسال طلبات باستخدام بيانات نصية وصور وبيانات صوتية وفيديوهات، ويُعرف ذلك أيضًا باسم إنشاء الطلبات المتعددة الوسائط. تعليمات النظام: تتيح لك تعليمات النظام توجيه سلوك النموذج استنادًا إلى احتياجاتك وحالات استخدامك المحدّدة. إرشادات السلامة: في بعض الأحيان، تُنتج نماذج الذكاء الاصطناعي التوليدي نتائج غير متوقّعة، مثل النتائج غير الدقيقة، أو المتحيّزة، أو المسيئة. تُعدّ المعالجة اللاحقة والتقييم البشري ضروريَين للحدّ من خطر الضرر الناتج عن هذه النتائج. إرسال ملاحظات إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0‏ ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0‏. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers‏. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين. تاريخ التعديل الأخير: 2026-06-23 (حسب التوقيت العالمي المتفَّق عليه) هل تريد مشاركة ملاحظاتك معنا؟ [[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2026-06-23 (حسب التوقيت العالمي المتفَّق عليه)"],[],[]] البنود الخصوصية Manage cookies English Deutsch Español – América Latina Français Indonesia Italiano Polski Português – Brasil Shqip Tiếng Việt Türkçe Русский עברית العربيّة فارسی हिंदी বাংলা ภาษาไทย 中文 – 简体 中文 – 繁體 日本語 한국어