请求协助:Node.js环境下使用Google Gemini API 1.5Pro处理音视频
使用Google Gemini API 1.5 Pro处理音频生成摘要(Node.js实现)
准备工作
- 确保
@google/generative-ai包版本≥0.11.0,低版本不支持多媒体处理,安装/更新命令:npm install @google/generative-ai@latest - 拥有可用的Google AI Studio API密钥,且已启用Gemini 1.5 Pro模型访问权限
核心实现代码
Gemini 1.5 Pro支持直接上传音频文件(兼容MP3、WAV等格式),只需将本地音频文件转换为符合要求的File对象,搭配摘要提示词即可请求模型生成摘要。
import { GoogleGenerativeAI, File } from "@google/generative-ai"; import fs from "fs"; import path from "path"; // 替换为你的API密钥 const API_KEY = "YOUR_GOOGLE_AI_STUDIO_API_KEY"; const genAI = new GoogleGenerativeAI(API_KEY); // 加载本地音频文件,转换为Gemini可识别的File对象 async function loadAudioFile(filePath) { const fileBuffer = fs.readFileSync(filePath); // 根据实际文件类型调整MIME类型:MP3用audio/mpeg,WAV用audio/wav const mimeType = "audio/mpeg"; return new File([fileBuffer], path.basename(filePath), { type: mimeType }); } // 生成音频摘要的主函数 async function generateAudioSummary(audioFilePath) { try { const audioFile = await loadAudioFile(audioFilePath); // 初始化Gemini 1.5 Pro模型 const model = genAI.getGenerativeModel({ model: "gemini-1.5-pro-latest" }); // 构造请求内容:音频文件 + 摘要提示 const prompt = "请生成这段音频的详细摘要,涵盖所有核心要点、关键结论和重要细节"; const contents = [ { role: "user", parts: [ { file: audioFile }, { text: prompt } ] } ]; // 发送请求并获取结果 const result = await model.generateContent({ contents }); const response = await result.response; const summary = response.text(); console.log("音频摘要:\n", summary); return summary; } catch (error) { console.error("处理音频时出错:", error); throw error; } } // 调用函数,替换为你的音频文件路径 generateAudioSummary("./your-audio-file.mp3").catch(console.error);
注意事项
- 音频时长限制:Gemini 1.5 Pro支持最长2小时的音频内容,文件大小需符合官方单请求配额限制
- MIME类型必须与文件实际格式匹配,否则模型无法解析音频
- 多媒体请求的API配额与文本请求不同,需确保密钥有足够的配额
- 若音频文件过大,可先拆分成分段音频分别生成摘要,再合并最终结果
内容的提问来源于stack exchange,提问作者Susant Swain
相关产品推荐
相关产品推荐

