昨日
作った
OpenAI
のAPI wrapperで
Audio API
を利用できるようにしました。
公式のAPIではDefaultのformatがjson
になっていますがverbose_json
にしてあります。
vtt
, srt
はまだ対応させていません。
長いデータを投げてないのでわからないですがQueue/WorkerではなくREST APIなので処理長いとタイムアウトしちゃいそうな気がするけどそのあたりどうなんだろう?
使用例
package main
import (
"fmt"
"log"
"os"
"github.com/ieee0824/gopenai-api/api"
"github.com/ieee0824/gopenai-api/config"
"github.com/samber/lo"
)
func main() {
a := api.New(&config.Configuration{
ApiKey: lo.ToPtr("API_KEY"),
Organization: lo.ToPtr("ORG_ID"),
})
f, err := os.Open("test.mp3")
if err != nil {
log.Fatalln(err)
}
result, err := a.AudioTranscriptionsV1(&api.AudioTranscriptionsV1Input{
File: f,
Model: lo.ToPtr("whisper-1"),
Language: lo.ToPtr("ja"),
})
if err != nil {
log.Fatalln(err)
}
fmt.Println(result.GoString())
}