如何从OpenAI Text-To-Speech API直接获取base64音频(NodeJS)
无需保存文件直接将OpenAI TTS输出转为Base64格式
当然可以跳过保存本地文件的步骤,直接将OpenAI TTS API返回的音频数据转换为Base64格式,流程非常简洁:
修改后的实现代码
import OpenAI from "openai"; const openai = new OpenAI(); async function main() { const mp3 = await openai.audio.speech.create({ model: "tts-1", voice: "alloy", input: "Today is a wonderful day to build something people love!", }); // 直接将音频二进制数据转为Base64 const buffer = Buffer.from(await mp3.arrayBuffer()); const base64Audio = buffer.toString('base64'); // 此处可直接使用base64Audio:存入数据库或通过WebSocket传输 console.log('Base64编码的音频内容:', base64Audio); } main();
关键步骤说明
- 调用
mp3.arrayBuffer()获取API返回的原始音频二进制数据 - 将ArrayBuffer转换为Node.js的Buffer对象(适配Node.js环境的二进制处理)
- 通过Buffer的
toString('base64')方法直接生成Base64编码字符串 - 生成的
base64Audio可直接用于数据库存储或WebSocket传输,完全无需生成本地MP3文件
内容的提问来源于stack exchange,提问作者HotsyncUK
相关产品推荐
相关产品推荐

