whisper是OpenAI的音频转文字模型,目前仅有whisper-1版本,有两个功能:将音频转录成目标文字;将音频翻译成英文。本文分享下便携AI聚合API whisper模型接入教程。
一、前言
本文参考OpenAI官方API文档:
- API reference:https://platform.openai.com/docs/api-reference
- Docs:https://platform.openai.com/docs/overview
文中使用的API Key均为便携AI聚合API后台生成的令牌,以sk-开头的一串随机字符,获取方法:《便携AI聚合API新建令牌(API key)教程》。
便携AI聚合API有三个接入地址(即URL),一般推荐选择第一个或者第二个:
- 中转API调用地址①(中国香港服务器,直连线路,带宽大):
https://api.bianxie.ai
- 中转API调用地址②(国内上海服务器,带宽稍小):
https://api.bianxieai.com
- 中转API调用地址③(国外服务器,也可以直连,备用):
https://api.a8.hk
(三个网站都可以登录账号,数据同步)
模型支持各种语言接入,包括python、PHP、C#、C、Ruby、Java、Go、JavaScript等,本文主要分享官方的CURL调用方法,以及基于python的调用方法,如果你是用其他语言调用API的,则直接问ChatGPT或者其他语言模型怎么改写就行了,如下图:
二、whisper模型接入教程
1、whisper API介绍
OpenAI whisper API有两个功能:transcription和translation,区别如下。
Transcription:
- 功能:将音频转录成文字。
- 语言支持:支持将音频转录为输入音频的语言,即如果输入的是中文音频,转录的文字也是中文。
- 用途:适用于需要将语音内容直接转成文字的场景,如会议记录、语音笔记等。
Translation
- 功能:将音频翻译成英文。
- 语言支持:支持将非英语音频翻译成英语,即如果输入的是中文音频,翻译后的文字是英文。
- 用途:适用于需要将不同语言的语音内容翻译成英文的场景,如多语言交流、语言学习等。
假设有一段中文音频:
- Transcription
- 输入:中文音频
- 输出:中文文字(例如,“你好,今天的天气很好。”)
- Translation
- 输入:中文音频
- 输出:英文文字(例如,“Hello, the weather is nice today.”)
2、Transcription接入教程
支持的参数:
OpenAI官方分享的调用方法:
curl https://api.bianxie.ai/v1/audio/transcriptions \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -H "Content-Type: multipart/form-data" \ -F file="@/path/to/file/audio.mp3" \ -F model="whisper-1"
python调用方法(调用的是通过tts模型生成的音频文件,详见:《便携AI聚合API tts文本转音频模型接入教程》):
import requests api_key = 'sk-hPxJKeSD8mQoySDCEf' file_path = 'D:\\king\\codes\\tools\\openai\\speech.mp3' url = 'https://api.bianxie.ai/v1/audio/transcriptions' with open(file_path, 'rb') as audio_file: response = requests.post( url, headers={ 'Authorization': f'Bearer {api_key}' }, files={ 'file': audio_file }, data={ 'model': 'whisper-1' } ) print(response.json())
返回结果:
{'text': 'The quick brown fox jumped over the lazy dog.'}
3、Translation接入教程
支持的参数:
OpenAI官方分享的调用方法:
curl https://api.bianxie.ai/v1/audio/translations \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -H "Content-Type: multipart/form-data" \ -F file="@/path/to/file/german.m4a" \ -F model="whisper-1"
python调用方法:
import requests api_key = 'sk-hPxJKeSD8mQoySD' file_path = 'D:\\king\\codes\\tools\\openai\\speech.mp3' url = 'https://api.bianxie.ai/v1/audio/transcriptions' headers = { "Authorization": f"Bearer {api_key}" } files = { "file": ("german.m4a", open(file_path, "rb")), "model": (None, "whisper-1") } response = requests.post(url, headers=headers, files=files) if response.status_code == 200: print(response.json()) else: print(f"Failed to get translation: {response.status_code} - {response.text}")
返回:
{'text': 'The quick brown fox jumped over the lazy dog.'}