多模态
音频输入
OpenRoute 支持通过 API 向兼容模型发送音频文件。本指南将向您展示如何使用我们的 API 处理音频。
注意:音频文件必须进行 base64 编码 - 不支持音频内容的直接 URL。
音频输入
通过 /api/v1/chat/completions
API 使用 input_audio
内容类型,可以向兼容模型发送音频文件请求。音频文件必须进行 base64 编码并包含格式规范。请注意,只有具有音频处理能力的模型才能处理这些请求。
您可以通过在我们的模型页面上按音频输入模态过滤来搜索支持音频的模型。
发送音频文件
以下是如何发送音频文件进行处理:
import requests
import json
import base64
def encode_audio_to_base64(audio_path):
with open(audio_path, "rb") as audio_file:
return base64.b64encode(audio_file.read()).decode('utf-8')
url = "https://www.openroute.cn/api/v1/chat/completions"
headers = {
"Authorization": f"Bearer <OPENROUTE_API_KEY>",
"Content-Type": "application/json"
}
# 读取并编码音频文件
audio_path = "path/to/your/audio.wav"
base64_audio = encode_audio_to_base64(audio_path)
messages = [
{
"role": "user",
"content": [
{
"type": "text",
"text": "请转录这个音频文件。"
},
{
"type": "input_audio",
"input_audio": {
"data": base64_audio,
"format": "wav"
}
}
]
}
]
payload = {
"model": "google/gemini-2.5-flash",
"messages": messages
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())
import fs from "fs/promises";
async function encodeAudioToBase64(audioPath: string): Promise<string> {
const audioBuffer = await fs.readFile(audioPath);
return audioBuffer.toString("base64");
}
// 读取并编码音频文件
const audioPath = "path/to/your/audio.wav";
const base64Audio = await encodeAudioToBase64(audioPath);
const response = await fetch("https://www.openroute.cn/api/v1/chat/completions", {
method: "POST",
headers: {
Authorization: `Bearer <OPENROUTE_API_KEY>`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "google/gemini-2.5-flash",
messages: [
{
role: "user",
content: [
{
type: "text",
text: "请转录这个音频文件。",
},
{
type: "input_audio",
input_audio: {
data: base64Audio,
format: "wav",
},
},
],
},
],
}),
});
const data = await response.json();
console.log(data);
支持的音频格式有:
wav
mp3
Last updated on